| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 430 人关注过本帖
标题:急啊啊!帮忙改下错啦,我是个新手改不了
只看楼主 加入收藏
yuyao259695
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-7-3
收藏
 问题点数:0 回复次数:0 
急啊啊!帮忙改下错啦,我是个新手改不了
#include<stdio.h>
#include<string.h>
#define N 15
#define M 10
struct xuanke
{
    char num[5];
    char name[20];
    char kecheng[10];
    int xueshi;
    double xuefen;
    int xueqi;
}stu[20];
int i;
struct xuankejieguo
{
    char num[10];
    char name[10];
    char bianhao[2][4];
}xs[M];
//菜单
menu()
{
    puts("1:查询\n");
    puts("2:增加\n");
    puts("3:选课\n");
    puts("4:浏览\n");
    puts("0:退出\n");
}
void read()
{
    FILE *fp;
    int st[81];
    fp=fopen("E:\\学生选课系统\\tx0135_xk.txt","r");
    if(fp=NULL)
    {
        printf("cannot open file!\n");
        return;
    }
    fgets(st,81,fp);          /*  从fp中读取81个字符放在st中  */
    for(i=0;i<N;i++)
    {
        fscanf(fp,"%s%s%s%d%f%d",stu[i].num,stu[i].name,stu[i].kecheng,&stu[i].xueshi,&stu[i].xuefen,&stu[i].xueqi);
    }
    fclose(fp);
    printf("已成功打开数据文件!\n");
}
//按课程名查询
void kechengming()
{
    char name[20];
    int t,flag=0;
    printf("请输入要查询的课程:\n");
    scanf("%s",name);
    if(strcmp(stu[i].name,name)==0)
        {
            flag=1;
            t=i;
            printf("课程信息如下:");
            printf("课程编号  课程名  课程性质  总学时  学分  开课学期");
            printf("%s        %s        %s        %d        %f        %d",stu[t].num,stu[t].name,stu[t].kecheng,stu[t].xueshi,stu[t].xuefen,stu[t].xueqi);
        }
    if(flag=0)
        printf("查询失败!");
}
//按编号查询
void bianhao()
{
    char num[5];
    int t,flag=0;
    printf("请输入要查询的编号:\n");
    scanf("%s",num);
    if(strcmp(stu[i].num,num)==0)
    {
            flag=1;
            t=i;
            printf("课程信息如下:");
            printf("课程编号  课程名  课程性质  总学时  学分  开课学期");
        printf("%s        %s        %s        %d        %f        %d",stu[t].num,stu[t].name,stu[t].kecheng,stu[t].xueshi,stu[t].xuefen,stu[t].xueqi);
    }
    if(flag=0)
        printf("查询失败!");
}
//按课程性质查询
void xingzhi()
{
    char kecheng[10];
    int t,flag=0;
    printf("请输入要查询的课程:\n");
    scanf("%s",kecheng);
    if(strcmp(stu[i].kecheng,kecheng)==0)
    {
            flag=1;
            t=i;
            printf("课程信息如下:");
        printf("课程编号  课程名  课程性质  总学时  学分  开课学期");
        printf("%s        %s        %s        %d        %f        %d",stu[t].num,stu[t].name,stu[t].kecheng,stu[t].xueshi,stu[t].xuefen,stu[t].xueqi);
    }
   if(flag=0)
        printf("查询失败!");
}
//按学分查询
void xuefen()
{
    int xuefen,t,flag=0;
    printf("请输入要查询的课程:\n");
    scanf("%d",&xuefen);
    if(stu[i].xuefen==xuefen)
    {
        flag=1;
        t=i;
        printf("课程信息如下:");
        printf("课程编号  课程名  课程性质  总学时  学分  开课学期");
        printf("%s        %s        %s        %d        %f        %d",stu[t].num,stu[t].name,stu[t].kecheng,stu[t].xueshi,stu[t].xuefen,stu[t].xueqi);
    }
     if(flag=0)
         printf("查询失败!");
}
//查询
 void search()
{
    int b;
    printf("请输入选择\n");
    scanf("%d",&b);
    switch(b)
    {
       case 1:kechengming();break;
       case 2:bianhao();break;
       case 3:xingzhi();break;   
       case 4:xuefen();break;
    }
}
//信息增加功能
void add()
{
    FILE *fp;
    int flag,t;
    char num[5];
    printf("请输入要添加的编号:\n");
    scanf("%s",num);
    {
        for(i=0;i<N;i++)
        {
           if(strcmp(stu[i].num,num)==0)
           {
               flag=1;
               i=t;
               printf("新课程信息如下:");
               printf("课程编号    课程名    课程性质    总学时    学分    开课学期\n");
               printf("%s        %s        %s        %d        %f        %d",stu[t].num,stu[t].name,stu[t].kecheng,stu[t].xueshi,stu[t].xuefen,stu[t].xueqi);
           }
        else if(flag=0)
            printf("信息添加失败!");
        }
    }   

}
//选课
void choice()
{
    char num[10];
    int k,j,a=0,b=0,c=0;
    printf("请输入你的学号\n");
    scanf("%s",num);
    for(j=0;j<10;j++)
    {
        if(strcmp(num[j],xs[j].num)==0)
        {  
             printf("课程编号    课程名    课程性质    总学时    学分    开课学期\n");
                 printf("%s        %s        %s        %d        %f        &d\n",stu[j].num,stu[j].name,stu[j].kecheng,stu[j].xuefen,stu[j].xueshi,stu[j].xueqi);
        }
    }
    printf("请输入选课编号\n");
         for(k=0;k<5;k++)
         {
             for(i=0;i<15;i++)
             {
                 printf("请输入课程编号\n");
                 scanf("%s",num);
                 a=a+stu[i].num;  /*a:总学分*/
                     if(a>30)
                     {
                          printf("您的课程总学分超过了30请从新选择\n");
                          break;
                     }
                      if(stu[i].xueqi==1)
                           b=b+stu[i].xuefen;/*学期一,b:学分*/
                      if(stu[i].xueqi==2)
                           c=c+stu[i].xuefen;/*学期二,c:学分*/
                      if(b>8||c>8)
                      {
                          printf("您选的课程每学期超过了8个学分\n");
                          break;
                      }
             }
            printf("选课完毕!\n退出按0,继续按1\n");
         }
}
//浏览
void liulan()
{
}
//主函数
main()
{
    int a;
    read();
    menu();
    printf("请输入选择\n");
    scanf("%d",&a);
    switch(a)
    {
    case 1:search();break;
    case 2:add();break;
    case 3:choice();break;
    case 4:liulan();break;
    }
}
搜索更多相关主题的帖子: double void include 
2010-07-03 20:04
快速回复:急啊啊!帮忙改下错啦,我是个新手改不了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.083502 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved