Chinaunix首页 | 论坛 | 博客
  • 博客访问: 17525
  • 博文数量: 12
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 130
  • 用 户 组: 普通用户
  • 注册时间: 2013-04-04 10:14
文章分类
文章存档

2013年(12)

我的朋友

分类: C/C++

2013-06-12 17:07:28


点击(此处)折叠或打开

  1. /////************************************************************************************************
  2. ////*用C语言编写具有以下功能的程序:
  3. ////*计算每个老师在一个学期中所教课程的总工作量。
  4. ////*(1)输入教师教学信息(教师号、姓名、所授课程、班级数目、理论课时、实验课时、单个教学任务总课时)。
  5. ////* 注意:每个教师可能有多条信息(课程不同);单个任务总课时不需输入。
  6. ////*(2)计算单个教学任务总课时。计算原则如下表:
  7. ////*班级数目    单个教学任务总课时
  8. ////* 2     1.5*(理论课时+实验课时)
  9. ////* 3     2*(理论课时+实验课时)
  10. ////* >=4     2.5*(理论课时+实验课时)
  11. ////*(3)计算一个教师一个学期总的教学工作量。总的教学工作量等于所有单个教学任务总课时之和。
  12. ////*三、课程设计要求
  13. ////*1.贯彻结构化程序设计思想。
  14. ////*2.用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。
  15. ////*3.用户界面中的菜单至少应包括“输入教师信息”、“单个教学任务总课时计算与显示”、“单个教师工作量查询”、“退出”4项。
  16. ////*4.代码应适当缩进,并给出必要的注释,以增强程序的可读性。
  17. ////*****************************************************************************************************************/
  18. //
  19. //#include <stdio.h>
  20. //#include <string.h>
  21. //#include <stdlib.h>
  22. ////定义课程结构体
  23. //typedef struct course{
  24. //    char cname[20];//课程名
  25. //    int theory; //理论课时
  26. //    int experiment; //实验课时
  27. //    int class_num; //班级数目
  28. //    float total; //单个教学任务总课时
  29. //}course;
  30. //
  31. ////定义教师结构体
  32. //typedef struct teacher{
  33. //    char id[20];//教师号
  34. //    char name[10];//姓名
  35. //    course cour[10];//课程名
  36. //    int num;//该教师所教课程数
  37. //    float total;//该教师总工作量
  38. //}teacher;
  39. //
  40. //#define MAX 100 //教师信息最大输入量
  41. //void main_menu();//主菜单
  42. //void input_teacher_information(teacher *t,int *length);//输入教师信息
  43. //void total_task(teacher *t,int *length);//输出要查找单个教学任务总课时(课程名,理论课时,实验课时,班级数,任务总课时,教师名)
  44. //void total_teacher(teacher *t,int *length);//输出要查找教师工作量查询
  45. //void teacher_del(teacher *t,int *length);//删除一个教师信息
  46. //void show_teacher(teacher *t,int *length);//显示所有教师的详细信息
  47. //
  48. ////主函数
  49. //int main(void)
  50. //{
  51. //    int length=0;//存储已经 输入的教师个数
  52. //    char choose;    //存储菜单选择
  53. //    teacher teach[MAX];//定义存储教师信息数组
  54. //    while(1)//用于循环操作
  55. //    {
  56. //        main_menu();
  57. //        fflush(stdin);
  58. //        switch(getchar())
  59. //        {
  60. //        case '1':input_teacher_information(teach,&length);//输入教师信息
  61. //            break;
  62. //        case '2':total_task(teach,&length);//输出要查找单个教学任务总课时(课程名,理论课时,实验课时,班级数,任务总课时,教师名)
  63. //            break;
  64. //        case '3':total_teacher(teach,&length);//输出要查找教师工作量查询
  65. //            break;
  66. //        case '4':show_teacher(teach,&length);//显示所有教师的详细信息
  67. //            break;
  68. //        case '5':teacher_del(teach,&length);//删除一个教师信息
  69. //            break;
  70. //        case '0':exit(0);
  71. //            break;
  72. //        default:printf("输入不合法!n");
  73. //        }
  74. //        system("cls");//清屏
  75. //    }
  76. //    
  77. //    return 0;
  78. //}
  79. ////主菜单函数体
  80. //void main_menu()
  81. //{
  82. //    puts("tt 教师工作量管理系统");
  83. //    puts("tt***************************************");
  84. //    puts("tt* 1>输入教师信息 *");
  85. //    puts("tt* 2>单个教学任务总课时计算与显示 *");
  86. //    puts("tt* 3>单个教师工作量查询 *");
  87. //    puts("tt* 4>显示教师详细信息 *");
  88. //    puts("tt* 5>删除教师信息 *");
  89. //    puts("tt* 0>退出 *");
  90. //    puts("tt***************************************");
  91. //    printf("输入要选择的操作序号:");
  92. //}
  93. ////信息输入函数体
  94. //void input_teacher_information(teacher *t,int *length)
  95. //{
  96. //
  97. //    int i=0,j;//循环变量
  98. //
  99. //    for (j=(*length)+1;j<=MAX;j++)//用于循环输入教师信息
  100. //    {
  101. //        if (*length>=MAX)//判断输入教师个数是否超过100
  102. //        {
  103. //            printf("输入教师数量已经达到上限!");
  104. //            return;
  105. //        }
  106. //        printf("输入第%d个教师信息:n",j);
  107. //        printf("t请输入教师的教师号:");
  108. //        fflush(stdin);//清空标准输入缓冲区 下同
  109. //        gets((t + *length)->id);
  110. //        printf("t请输入教师的姓名:");
  111. //        fflush(stdin);
  112. //        gets((t + *length)->name);
  113. //        printf("t请输入该教师所教课程数:");
  114. //        scanf("%d",&(t + *length)->num);//输入该教师所教课程个数
  115. //        for (i=0;i<(t + *length)->num;i++)//该循环输入课程信息
  116. //        {
  117. //            printf("tt请输入第%d个课程名:",i+1);
  118. //            fflush(stdin);
  119. //            gets((t + *length)->cour[i].cname);
  120. //            printf("tt请输入该课程的理论课时数:");
  121. //            scanf("%d",&(t + *length)->cour[i].theory);
  122. //            printf("tt请输入该课程的实验课时数:");
  123. //            scanf("%d",&(t + *length)->cour[i].experiment);
  124. //            while (1)//该循环用于输入课程的班级数
  125. //            {
  126. //                printf("tt请输入该课程所教的班级数(班级数要大于或等于2):");
  127. //                scanf("%d",&(t + *length)->cour[i].class_num);
  128. //                if ((t + *length)->cour[i].class_num<2)//判断输入是否〉=2
  129. //                    printf("tterror ! 班级数要大于或等于2!n");
  130. //                else
  131. //                    break;//当满足条件时跳出循环
  132. //            }
  133. //
  134. //            //计算单个教学任务总课时
  135. //            if ((t + *length)->cour[i].class_num==2)
  136. //                (t + *length)->cour[i].total=1.5*((t + *length)->cour[i].theory + (t + *length)->cour[i].experiment);
  137. //            if ((t + *length)->cour[i].class_num==3)
  138. //                (t + *length)->cour[i].total=2*((t + *length)->cour[i].theory + (t + *length)->cour[i].experiment);
  139. //            if ((t + *length)->cour[i].class_num>=4)
  140. //                (t + *length)->cour[i].total=2.5*((t + *length)->cour[i].theory + (t + *length)->cour[i].experiment);
  141. //        }
  142. //        (*length)++;//存储教师个数 +1
  143. //        printf("t是否结束输入?(y/n):");
  144. //        fflush(stdin);
  145. //        if(getchar()=='y')//判断是否继续输入
  146. //            return;//返回主函数
  147. //    }
  148. //
  149. //    return;
  150. //}
  151. ////查找和显示课程信息
  152. //void total_task(teacher *t,int *length)
  153. //{
  154. //    
  155. //    int i,j;//循环变量
  156. //    char ch[20];//存储要查找的课程名
  157. //    if ((*length)==0)
  158. //    {
  159. //        printf("未存储信息!n");
  160. //        printf("按下enter键返回主菜单!");
  161. //        fflush(stdin);
  162. //        getchar();
  163. //        return;
  164. //    }
  165. //    printf("输入要显示的课程名:");
  166. //    fflush(stdin);
  167. //    gets(ch);
  168. //
  169. //    printf("课程名 理论课时 实验课时 班级数 任务总课时 教师名n");
  170. //    for (i=0;i<*length;i++)//循环教师
  171. //    {
  172. //        for (j=0;j<t->num;j++)//循环每个教师的课程
  173. //        {
  174. //            if (!strcmp(t->cour[j].cname,ch))
  175. //                printf("%-10s %-14d %-14d %-10d %-12.1f %-15sn",t ->cour[j].cname,t ->cour[j].theory,t ->cour[j].experiment,t ->cour [j].class_num,t ->cour[j].total,t->name);
  176. //        }
  177. //        
  178. //        t++;//指针后移
  179. //    }
  180. //    printf("按下enter键返回主菜单!");
  181. //    fflush(stdin);
  182. //    getchar();
  183. //
  184. //    return;
  185. //}
  186. ////查找和显示教师信息
  187. //void total_teacher(teacher *t,int *length)
  188. //{
  189. //    
  190. //    int i,j;//循环变量
  191. //    char ch[20];//存储要查找的教师号
  192. //    if ((*length)==0)
  193. //    {
  194. //        printf("未存储信息!n");
  195. //        printf("按下enter键返回主菜单!");
  196. //        fflush(stdin);
  197. //        getchar();
  198. //        return;
  199. //    }
  200. //    printf("输入要显示的教师号:");
  201. //    fflush(stdin);
  202. //    gets(ch);
  203. //    printf("教师号 姓名 总工作量n");
  204. //    for(i=0;i<*length;i++)//该循环用于输出所有的教师信息
  205. //    {
  206. //        t->total =0;
  207. //        for (j=0;j<t->num;j++)//用于计算每个教师的总工作量
  208. //        {
  209. //            t->total += t->cour[j].total;
  210. //        }
  211. //        if (!strcmp(t->id,ch))
  212. //        {
  213. //            printf("%-15s %-15s %-9.1fn",t->id,t->name,t->total);
  214. //        }
  215. //        t++;//将指针后移
  216. //    }
  217. //    printf("按下enter键返回主菜单!");
  218. //    fflush(stdin);
  219. //    getchar();
  220. //
  221. //    return;
  222. //}
  223. ////显示所有教师信息
  224. //void show_teacher(teacher *t,int *length)
  225. //{
  226. //    
  227. //    int i,j;//循环变量
  228. //    if ((*length)==0)
  229. //    {
  230. //        printf("未存储信息!n");
  231. //        printf("按下enter键返回主菜单!");
  232. //        fflush(stdin);
  233. //        getchar();
  234. //        return;
  235. //    }
  236. //    
  237. //    printf("教师号 姓名 课程名 理论课时 实验课时 班级数 总工作量n");
  238. //    for(i=0;i<*length;i++)//该循环用于输出所有的教师信息
  239. //    {
  240. //        t->total =0;
  241. //        for (j=0;j<t->num;j++)//用于计算每个教师的总工作量
  242. //            t->total += t->cour[j].total;
  243. //        for (j=0;j<t->num;j++)//显示信息
  244. //            printf("%-12s %-10s %-8s %-15d %-8d %-8d %-9.1fn",t->id,t->name,t->cour[j].cname,t->cour[j].theory,t->cour[i].experiment,t->cour[i].class_num,t->total);
  245. //        
  246. //        t++;//将指针后移
  247. //    }
  248. //    printf("按下enter键返回主菜单!");
  249. //    fflush(stdin);
  250. //    getchar();
  251. //
  252. //    return;
  253. //}
  254. //
  255. ////删除教师信息函数体
  256. //void teacher_del(teacher *t,int *length)
  257. //{
  258. //    
  259. //    int i,j;//用作循环变量
  260. //    char ch[20];//存储输入要删除的教师号
  261. //    if ((*length)==0)
  262. //    {
  263. //        printf("未存储信息!n");
  264. //        printf("按下enter键返回主菜单!");
  265. //        fflush(stdin);
  266. //        getchar();
  267. //        return;
  268. //    }
  269. //    //获取要删除的教师号
  270. //    printf("请输入要删除的教师号:");
  271. //    fflush(stdin);
  272. //    gets(ch);
  273. //
  274. //    for (i=0;i<*length;i++)//该循环用于查找要删除的教师信息
  275. //    {
  276. //        if (!strcmp((t+i)->id,ch))//strcmp()用于比较字符串 如果相等返回0
  277. //        {
  278. //            printf("你确定要删除 教师号:%s 教师名:%s (y/n):",(t+i)->id,(t+i)->name);
  279. //            fflush(stdin);
  280. //            if (getchar()=='y')//用户确认是否要删除
  281. //            {
  282. //                for (j=i;j<(*length)-1;j++)//该循环用于删除(将后面的教师信息向前移动)
  283. //                    *(t+j)=*(t+j+1);
  284. //                
  285. //                printf("删除成功!n");
  286. //                (*length)--;//将已经存储的教师个数 -1
  287. //            }
  288. //            break;//跳出循环
  289. //        }
  290. //    }
  291. //    
  292. //    printf("按下enter键返回主菜单!");
  293. //    fflush(stdin);
  294. //    getchar();
  295. //
  296. //    return;
  297. //}

阅读(2583) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~