鱼C论坛

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

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

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

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

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

x
#include<stdio.h>   
#include<stdlib.h>  
#include<string.h>  
#define BUFLEN 100  
#define LEN 15  
#define N 100 struct record  
{  char code[LEN+1];
  char name[LEN+1];
  int age;
  char sex[3]; 
  char time[LEN+1];
  char add[30]; 
  char tel[LEN+1];
  char mail[30];  
}stu[N];    
    int k=1,n,m;    
void readfile();         
void seek(); 
void modify();
 void insert(); 
void del(); 
void display(); 
void save(); 
void number(); 
void menu();     
int main() 
{
   while(k)
   menu();
   system("pause");
   return 0; 
}
void readfile()//刷新学生信息 
{
     char *p="student.txt";
     FILE *fp;
     int i=0; 
     if ((fp=fopen("student.txt","r"))==NULL)
     {      
           printf("Open file %s error! Strike any key to exit!",p);
           system("pause");    
           exit(0);     
     }       
     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)
    {
            i++;
            i=i;
     }
     fclose(fp);
     n=i;
     printf("录入完毕!\n");
     }      
void seek()//查询学生信息     
void modify()//修改学生信息   
void sort()//对学生信息按学号排序 
{
     int i,j,*p,*q,s;
     char temp[10];
     for(i=0;i<n-1;i++)
     {
         for(j=n-1;j>i;j--)
         if(strcmp(stu[j-1].code,stu[j].code)>0)
         {           
            strcpy(temp,stu[j-1].code);
            strcpy(stu[j-1].code,stu[j].code);
            strcpy(stu[j].code,temp);
            strcpy(temp,stu[j-1].name); 
            strcpy(stu[j-1].name,stu[j].name);
            strcpy(stu[j].name,temp);   
            strcpy(temp,stu[j-1].sex);  
            strcpy(stu[j-1].sex,stu[j].sex);
            strcpy(stu[j].sex,temp);    
            strcpy(temp,stu[j-1].time);
            strcpy(stu[j-1].time,stu[j].time);
            strcpy(stu[j].time,temp); 
            strcpy(temp,stu[j-1].add);
            strcpy(stu[j-1].add,stu[j].add); 
            strcpy(stu[j].add,temp);
            strcpy(temp,stu[j-1].tel);
            strcpy(stu[j-1].tel,stu[j].tel); 
            strcpy(stu[j].tel,temp);   
            strcpy(temp,stu[j-1].mail); 
            strcpy(stu[j-1].mail,stu[j].mail); 
            strcpy(stu[j].mail,temp);  
            p=&stu[j-1].age;  
            q=&stu[j].age; 
            s=*q; 
            *q=*p;
            *p=s;
          }  
      }  
}      
void insert()//增加学生信息    
 void display()//显示当前学生信息 
{
     int i;
     printf("所有学生的信息为:\n");   
     printf("学生学号,  学生姓名,  年龄,  性别,   出生年月,   地址,     电话,     E-mail\n");
     printf("------------------------------------------------------------------\n");
     for(i=0;i<n;i++)
     {       
         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);
     } 
}      
void save()//保存当前学生信息 
{
     int i;
     FILE *fp;
     fp=fopen("student.txt","w");
     for(i=0;i<n;i++)
     {
       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);
     }
     fclose(fp);
}     
void number()//汇总学生数目 
{
     int i,girl,boy=0;
     for(i=0;i<n;i++)
     if(strcmp(stu[i].sex,"1")==0)
    {
       boy++;
     }
     girl=n-boy; 
     printf("男生人数是:%d\n女生的人数是:%d\n",boy,girl);
     printf("总的学生人数为:%d",n); 
}     
void help()//系统帮助  
{  
     printf("输入性别时男为1,女为2");
     printf("\n3.增加学生信息后,切记保存按7;\n"); 
     printf("\n4.谢谢您的使用!\n"); 
}     
void menu()//可视化的系统操作界面 
{
    int num;
    printf(" \n\n                    学生通讯录管理系统               \n\n");
    printf(" *********************系统功能菜单************************       \n");
    printf("       --------------------------------   -------------------------------     \n");
    printf("        1.刷新学生信息          2.查询学生信息     \n");
    printf("       *********************************************     \n");
    printf("        3.修改学生信息          4.增加学生信息     \n"); 
    printf("       *********************************************     \n");
    printf("        5.按学号删除信息        6.显示当前信息     \n");  
    printf("       *********************************************     \n");  
    printf("        7.保存当前学生信息      8.汇总学生数目   \n");
    printf("       *********************************************     \n"); 
    printf("        9.系统帮助              10.退出系统               \n"); 
    printf("       ---------------------------------   ------------------------------     \n"); 
    printf(" ************************************************************   \n"); 
    printf("请选择菜单编号:");     scanf("%d",&num);
    switch(num)
   {
       case 1:readfile();break;
       case 2:seek();break; 
       case 3:modify();break;
       case 4:insert();break;
       case 5:del();break;
       case 6:display();break;
       case 7:save();break;
       case 8:number();break;
       case 9:help();break; 
       case 10:k=0;break; 
      default:printf("请在1-10之间选择\n");
   } 
}

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-28 04:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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