鱼C论坛

 找回密码
 立即注册
查看: 2814|回复: 0

有一个错误,不知道怎么改

[复制链接]
发表于 2014-6-21 12:56:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #include<stdio.h>   
  2. #include<stdlib.h>  
  3. #include<string.h>  
  4. #define BUFLEN 100  
  5. #define LEN 15  
  6. #define N 100 struct record  
  7. {  char code[LEN+1];
  8.   char name[LEN+1];
  9.   int age;
  10.   char sex[3];
  11.   char time[LEN+1];
  12.   char add[30];
  13.   char tel[LEN+1];
  14.   char mail[30];  
  15. }stu[N];   
  16.     int k=1,n,m;   
  17. void readfile();         
  18. void seek();
  19. void modify();
  20. void insert();
  21. void del();
  22. void display();
  23. void save();
  24. void number();
  25. void menu();     
  26. int main()
  27. {
  28.    while(k)
  29.    menu();
  30.    system("pause");
  31.    return 0;
  32. }
  33. void readfile()//刷新学生信息
  34. {
  35.      char *p="student.txt";
  36.      FILE *fp;
  37.      int i=0;
  38.      if ((fp=fopen("student.txt","r"))==NULL)
  39.      {      
  40.            printf("Open file %s error! Strike any key to exit!",p);
  41.            system("pause");   
  42.            exit(0);     
  43.      }      
  44.      while(fscanf(fp,"%s %s%d%s %s %s %s %s",stu[i].code,stu[i].name,&stu[i].age,stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail)==8)
  45.     {
  46.             i++;
  47.             i=i;
  48.      }
  49.      fclose(fp);
  50.      n=i;
  51.      printf("录入完毕!\n");
  52.      }      
  53. void seek()//查询学生信息     
  54. void modify()//修改学生信息   
  55. void sort()//对学生信息按学号排序
  56. {
  57.      int i,j,*p,*q,s;
  58.      char temp[10];
  59.      for(i=0;i<n-1;i++)
  60.      {
  61.          for(j=n-1;j>i;j--)
  62.          if(strcmp(stu[j-1].code,stu[j].code)>0)
  63.          {           
  64.             strcpy(temp,stu[j-1].code);
  65.             strcpy(stu[j-1].code,stu[j].code);
  66.             strcpy(stu[j].code,temp);
  67.             strcpy(temp,stu[j-1].name);
  68.             strcpy(stu[j-1].name,stu[j].name);
  69.             strcpy(stu[j].name,temp);   
  70.             strcpy(temp,stu[j-1].sex);  
  71.             strcpy(stu[j-1].sex,stu[j].sex);
  72.             strcpy(stu[j].sex,temp);   
  73.             strcpy(temp,stu[j-1].time);
  74.             strcpy(stu[j-1].time,stu[j].time);
  75.             strcpy(stu[j].time,temp);
  76.             strcpy(temp,stu[j-1].add);
  77.             strcpy(stu[j-1].add,stu[j].add);
  78.             strcpy(stu[j].add,temp);
  79.             strcpy(temp,stu[j-1].tel);
  80.             strcpy(stu[j-1].tel,stu[j].tel);
  81.             strcpy(stu[j].tel,temp);   
  82.             strcpy(temp,stu[j-1].mail);
  83.             strcpy(stu[j-1].mail,stu[j].mail);
  84.             strcpy(stu[j].mail,temp);  
  85.             p=&stu[j-1].age;  
  86.             q=&stu[j].age;
  87.             s=*q;
  88.             *q=*p;
  89.             *p=s;
  90.           }  
  91.       }  
  92. }      
  93. void insert()//增加学生信息   
  94. void display()//显示当前学生信息
  95. {
  96.      int i;
  97.      printf("所有学生的信息为:\n");   
  98.      printf("学生学号,  学生姓名,  年龄,  性别,   出生年月,   地址,     电话,     E-mail\n");
  99.      printf("------------------------------------------------------------------\n");
  100.      for(i=0;i<n;i++)
  101.      {      
  102.          printf("%6s, %7s, %5d, %5s, %9s, %8s, %10s, %14s\n",stu[i].code,stu[i].name,stu[i].age,stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);
  103.      }
  104. }      
  105. void save()//保存当前学生信息
  106. {
  107.      int i;
  108.      FILE *fp;
  109.      fp=fopen("student.txt","w");
  110.      for(i=0;i<n;i++)
  111.      {
  112.        fprintf(fp,"%s, %s, %d, %s, %s, %s, %s, %s\n",stu[i].code,stu[i].name,stu[i].age,stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);
  113.      }
  114.      fclose(fp);
  115. }     
  116. void number()//汇总学生数目
  117. {
  118.      int i,girl,boy=0;
  119.      for(i=0;i<n;i++)
  120.      if(strcmp(stu[i].sex,"1")==0)
  121.     {
  122.        boy++;
  123.      }
  124.      girl=n-boy;
  125.      printf("男生人数是:%d\n女生的人数是:%d\n",boy,girl);
  126.      printf("总的学生人数为:%d",n);
  127. }     
  128. void help()//系统帮助  
  129. {  
  130.      printf("输入性别时男为1,女为2");
  131.      printf("\n3.增加学生信息后,切记保存按7;\n");
  132.      printf("\n4.谢谢您的使用!\n");
  133. }     
  134. void menu()//可视化的系统操作界面
  135. {
  136.     int num;
  137.     printf(" \n\n                    学生通讯录管理系统               \n\n");
  138.     printf(" *********************系统功能菜单************************       \n");
  139.     printf("       --------------------------------   -------------------------------     \n");
  140.     printf("        1.刷新学生信息          2.查询学生信息     \n");
  141.     printf("       *********************************************     \n");
  142.     printf("        3.修改学生信息          4.增加学生信息     \n");
  143.     printf("       *********************************************     \n");
  144.     printf("        5.按学号删除信息        6.显示当前信息     \n");  
  145.     printf("       *********************************************     \n");  
  146.     printf("        7.保存当前学生信息      8.汇总学生数目   \n");
  147.     printf("       *********************************************     \n");
  148.     printf("        9.系统帮助              10.退出系统               \n");
  149.     printf("       ---------------------------------   ------------------------------     \n");
  150.     printf(" ************************************************************   \n");
  151.     printf("请选择菜单编号:");     scanf("%d",&num);
  152.     switch(num)
  153.    {
  154.        case 1:readfile();break;
  155.        case 2:seek();break;
  156.        case 3:modify();break;
  157.        case 4:insert();break;
  158.        case 5:del();break;
  159.        case 6:display();break;
  160.        case 7:save();break;
  161.        case 8:number();break;
  162.        case 9:help();break;
  163.        case 10:k=0;break;
  164.       default:printf("请在1-10之间选择\n");
  165.    }
  166. }
复制代码


小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-10 05:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表