| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1750 人关注过本帖
标题:请大佬把代码中的C++改成最基础的C语言
取消只看楼主 加入收藏
wy1208267347
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-6-9
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
请大佬把代码中的C++改成最基础的C语言
[问题定义] 假定有n门课程,每门课程有:课程编号,课程名称,课程性质(公共课、必修课、选修课),总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可自由选课。试设计一选修课程系统,使之能提供以下功能:     

(1)系统以菜单方式工作

(2)课程信息录入功能(课程信息用文件保存)--输入

(3)课程信息浏览功能--输出

(4)课程信息查询功能--算法

查询方式

                    按学分查询

            按课程性质查询

(5)学生选修课程(可选项)

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 10
struct course
{

       int num;

       char name[20];

       char kind[30];

       int shoutime;

       int shiyantime;

       int xuefen;

       int kaike;

}cou[N];
void shuru();
void liulan();
void chaxun();
void jinru();

/********主菜单********/

void main()
{

       int n,w;
       printf("                MENU             \n");
       printf("*********************************\n");
       printf("         1-输入课程信息          \n");
    printf("         2-浏览课程信息          \n");
    printf("         3-查询课程信息          \n");
    printf("         4-进入选课操作          \n");
       printf("            5-退出选课系统          \n");
       printf("*********************************\n");
       printf("      请输入选择的数字:         ");
       scanf("%d",&n);
    if(n<=5&&n>=1)

                     w=0;
              else
              {
                     printf("输入错误,重新输入\n");
                     main();
                    
              }

       switch(n)

              { case 1:shuru();break;
                case 2:liulan();break;
                case 3:chaxun();break;
                case 4:jinru();break;
                case 5:exit(0);
        }

}

/********课程信息录入********/

void shuru()

{

     void main();

       FILE*fp;

       int i,count,a;

       printf("输入课程门数:");

       scanf("%d",&count);

       if((fp=fopen("cou.txt","a+"))==NULL)

       { printf("cannot open this file\n");

          exit(0);

       }

       printf("课程编号      名称      性质      授课学时      实验或上机学时      学分      开课学期\n");

     for(i=0;i<count;i++)

       {  

              scanf("%d%s%s%d%d%d%d",&cou[i].num,&cou[i].name,&cou[i].kind,&cou[i].shoutime,&cou[i].shiyantime,&cou[i].xuefen,&cou[i].kaike);

              fprintf(fp,"%d\t%s\t%s\t%d\t%d\t%d\t%d\n",cou[i].num,cou[i].name,cou[i].kind,cou[i].shoutime,cou[i].shiyantime,cou[i].xuefen,cou[i].kaike);

       }

       fclose(fp);

       printf("\n1.返回主菜单;2.退出选课系统\n");

     scanf("%d",&a);

       if(a==1)

             main();

       else

             exit(0);

}

void liulan()

{

       void main();

       FILE*fp;

       int i,a;

       if((fp=fopen("cou.txt","r"))==NULL)

       {  printf("cannot open this file\n");

          exit(0);

       }

       printf("课程编号      名称      性质      授课学时      实验或上机学时      学分      开课学期\n");

       for(;!feof(fp);)

       {

           i=0;

              i++;

              fscanf(fp,"%d%s%s%d%d%d%d\n",&cou[i].num,&cou[i].name,&cou[i].kind,&cou[i].shoutime,&cou[i].shiyantime,&cou[i].xuefen,&cou[i].kaike);

              printf("%d %s %s %d %d %d %d\n",cou[i].num,cou[i].name,cou[i].kind,cou[i].shoutime,cou[i].shiyantime,cou[i].xuefen,cou[i].kaike);

              if(feof(fp)) break;

       }

    fclose(fp);

    printf("\n1.返回主菜单;2.退出选课系统\n");

    scanf("%d",&a);

       if(a==1)

             main();

       else

             exit(0);

 

}

void chaxun()

{

       void main();

       FILE*fp;

       char kind[30];

       int i,xuefen,a,n;

       printf("1.按学分方式查询\n");

       printf("2.按课程性质查询\n");

       printf("请输入数字:");

    scanf("%d",&i);

       if(i==1)

       {

              printf("请输入学分:\n");

              scanf("%d",&xuefen);

           if((fp=fopen("cou.txt","r"))==NULL)

              {  printf("cannot open this file\n");

              exit(0);

              }

              printf("课程编号      名称      性质      授课学时      实验或上机学时      学分      开课学期\n");

              n=0;

              n++;

              fscanf(fp,"%d%s%s%d%d%d%d",&cou[n].num,&cou[n].name,&cou[n].kind,&cou[n].shoutime,&cou[n].shiyantime,&cou[n].xuefen,&cou[n].kaike);

        if(cou[n].xuefen==xuefen)

              printf("%d %s %s %d %d %d %d",cou[n].num,cou[n].name,cou[n].kind,cou[n].shoutime,cou[n].shiyantime,cou[n].xuefen,cou[n].kaike);

 

    }

       else if(i==2)

       {

              printf("请输课程性质:\n");

              scanf("%s",&kind);

              if((fp=fopen("cou.txt","r"))==NULL)

              {  printf("cannot open this file\n");

              exit(0);

              }

              printf("课程编号      名称      性质      授课学时      实验或上机学时      学分      开课学期\n");

              n=0;

              n++;

              fscanf(fp,"%d%s%s%d%d%d%d",&cou[n].num,&cou[n].name,&cou[n].kind,&cou[n].shoutime,&cou[n].shiyantime,&cou[n].xuefen,&cou[n].kaike);

        if(strcmp(cou[n].kind,kind)==0)

              printf("%d %s %s %d %d %d %d",cou[n].num,cou[n].name,cou[n].kind,cou[n].shoutime,cou[n].shiyantime,cou[n].xuefen,cou[n].kaike);

 

    }

       else

       {

           printf("输入错误,重新输入\n");

        exit(1);

       }

       fclose(fp);

       printf("\n1.返回主菜单;2.退出选课系统\n");

    scanf("%d",&a);

       if(a==1)

             main();

       else

             exit(0);

}

void jinru()

{

       void main();

       FILE*fp;

       int num;

       int total=0;

       int n,a;

       printf("请输入课程编号:");

       scanf("%d",&num);

       if((fp=fopen("cou.txt","a+"))==NULL)

       {  printf("cannot open this file\n");

          exit(0);

       }

       printf("课程编号      名称      性质      授课学时      实验或上机学时      学分      开课学期\n");

       n=0;

       n++;

       fscanf(fp,"%d%s%s%d%d%d%d",&cou[n].num,&cou[n].name,&cou[n].kind,&cou[n].shoutime,&cou[n].shiyantime,&cou[n].xuefen,&cou[n].kaike);

    if(cou[n].num==num)

       printf("你所选择的课程为");

       printf("%d %s %s %d %d %d %d",cou[n].num,cou[n].name,cou[n].kind,cou[n].shoutime,cou[n].shiyantime,cou[n].xuefen,cou[n].kaike);

    fclose(fp);

    printf("\n1.返回主菜单;2.退出选课系统\n");

    scanf("%d",&a);

        if(a==1)

              main();

       else

           exit(0);

}
搜索更多相关主题的帖子: 公共课 C语言 必修课 查询方式 include 
2017-06-09 15:21
wy1208267347
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-6-9
收藏
得分:0 
回复 2楼 wp231957
我们没有学那么多...像什么fscanf, exit(0); FILE*fp; fclose(fp);#include<stdlib.h>  这些我们都没学过  就想换成最基础的
2017-06-09 15:34
快速回复:请大佬把代码中的C++改成最基础的C语言
数据加载中...
 
   



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

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