C语言编程问题

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
void fun1();
void fun2();
void fun3();
void fun4();
void fun5();
void fun6();
   struct student
 {
  int num;
   char name[20];
      char sex[20];
   char major[20];
   int shengri;
      char addr[20];
   }stu[60];
int main(int argc, char* argv[])
{
    system("color 1e");
    printf("/t/t┏┳━━━━━━━━━━━━┳┓/n");
    printf("/t/t┣╋━━━━━━━━━━━━╋┫/n");
    printf("/t/t┃┃  欢迎进入学生管理系统  ┃┃/n");
    printf("/t/t┣╋━━━━━━━━━━━━╋┫/n");
    printf("/t/t┗┻━━━━━━━━━━━━┻┛/n");
 printf("/t/t1.增加学生信息/n");
 printf("/t/t2.查找特定学生信息/n"); 
 printf("/t/t3.查看所有学生信息/n");
 printf("/t/t4.删除学生信息/n");
 printf("/t/t5.修改学生信息/n");
 printf("/t/t6.欢迎再次光临/n");
 char c;
    do{
 printf("==================================================/n");
        printf("请选择你要的选项1-6:/t");
        c=getchar();getchar();
        switch (c)
  {
          case '1': fun1();getchar();break;
          case '2': fun2();getchar();break;
          case '3': fun3();getchar();break;
          case '4': fun4();getchar();break;
          case '5': fun5();getchar();break;
          case '6': fun6();getchar();break;
          default : printf ("error/n");
  }
 }
 while(c!=EOF);
 return 0;
}
/********************************************************************************/
 void fun1()
{
 struct student
   { 
    int  num;
    char name[20];
       char sex[20];
    char major[20];
        int shengri;
      char addr[20];
   }stud;
 char numstr[81],ch;
     FILE *fp;
 if ((fp=fopen("e://13.txt","a"))==NULL)
 {
  printf("cannot open file 13.txt");
  exit(1);
 }
 do
 {
  printf(" 请输入学号:");gets (numstr);stud.num=atoi(numstr);
  printf("/n 请输入姓名:");gets (stud.name);
        printf("/n 请输入性别:");gets (stud.sex);
        printf("/n 请输入出生日期:");gets (numstr); stud.shengri=atoi(numstr);
  printf("/n 请输入专业:");gets (stud.major);  
     printf("/n 请输入地址:");gets (stud.addr);
  fprintf(fp,"%-15d %-10s %-10s %-15d  %-10s %-10s/n",stud.num,stud.name,stud.sex,stud.shengri,stud.major,stud.addr
   );
  printf("要进行下一个学生资料记录吗(y/n)?");
  ch=getchar();getchar();
 }while (ch=='y');
  fclose(fp);
  printf(" 请按Enter键返回主菜单 ");
}

/********************************************/
 void fun2()
{
   FILE *fp;
   int number;/*/*/
   int i=0;
   if((fp=fopen("e://13.txt","r"))==NULL)
   {
    printf("文件打开失败!");
       exit(1);
   }
   printf("请输入你所要查找的学生学号:/t");
   scanf("%d",&number);
   for(i=0;i<60;i++)
   {
    fscanf(fp,"%d%s%s%d%s",&stu[i].num,stu[i].name
,stu[i].sex,stu[i].shengri,stu[i].major,stu[i].addr);
    if(number==stu[i].num)
    {
     printf("%-15d%-10s%-10s%-15d%-10s-10s/n",stu[i].num,stu[i].name,
stu[i].sex,stu[i].shengri,stu[i].major,stu[i].addr); 
    }
    else
    {
     printf(" 未能找到该学生信息! /n");
    }break;
   }
    fclose(fp);
    getchar();
    printf(" 请按Enter键返回主菜单 ");
}
/****************************************************/
void fun3()
{
   FILE *fp;
 char ch;
 if ((fp=fopen("e://13.txt","r"))==NULL)
 {
  printf("文件无法打开 /n"); 
 }
 while ((ch=fgetc(fp))!=EOF)
  putchar(ch);
 fclose(fp);
  printf(" 请按Enter键返回主菜单 ");
}
/****************************************************************/
void fun4()
{
   FILE *fp;
   int number;
   int i=0;
   int j,k;
   if((fp=fopen("e://13.txt","r"))==NULL)
   {
    printf("文件打开失败!");
       exit(1);
   }

   do{
    fscanf(fp,"%d%s%s%d%s%s",&stu[i].num,stu[i].name,
stu[i].sex,stu[i].shengri,stu[i].major); 
       i++;
   }while(fgetc(fp)!=EOF);
   fclose(fp);
   printf("请输入要删除信息的学生学号:/t");
   scanf("%d",&number);
   for(j=0;j<i;j++)
   {
       if(number==stu[j].num)
    {
     for(k=j;k<i-1;k++)
 
     stu[k]=stu[k+1];
        i--;
    }
   }
 if((fp=fopen("e://13.txt","w"))==NULL)
 {
    printf("该文件无法打开!");
       exit(1);
 }    
    for(j=0;j<i;j++)
    {
    fprintf(fp,"%-15d %-10s %-15d %-10s %-10s %-10s/n",stu[j].num,stu[j].name,stu[j].sex,stu[j].shengri,stu[j].major,stu[j].addr);
    }
    printf("                            该生信息已成功删除!/n");
    fclose(fp);
    getchar();
    printf(" 请按Enter键返回主菜单/n ");
}
/***********************************************************/
void fun5()
{
typedef struct
 {
   long num;
   char name[20];
      char sex[20];
   char major[20];
      int shengri;
      char addr[20];
} xy;
   FILE *fp;
   int number;
   int i=0;
   int k;
   char b[20];
   xy stu[60]={0};
  if((fp=fopen("e://13.txt","r"))==NULL)
   {
    printf("文件打开失败!");
       exit(1);
   }
    do
 {
        fscanf(fp,"%ld %s %1d %s %s %s",&stu[i].num,stu[i].name,stu[i].sex,stu[i].shengri,stu[i].major,stu[i].addr);
  i++;
 }while(fgetc(fp)!=EOF);
 fclose(fp);
    k=i;
 i=0;
   printf("请输入要修改信息的学生学号:");
   scanf("%d",&number);
   printf("/n");
   while(stu[i].num!=number)
    i++;
   if(stu[i].num==number)
   {
    printf("请输入修改后的学生学号:");
       scanf("%d",&stu[i].num);
       printf("请输入修改后的学生姓名:");
       scanf("%s",b);strcpy(stu[i].name,b);
    printf("请输入修改后的学生性别:");
       scanf("%s",b);strcpy(stu[i].sex,b);
    printf("请输入修改后的学生生日:");
    scanf("%d",&stu[i].shengri);
    printf("请输入修改后的学生专业:");
    scanf("%s",b);strcpy(stu[i].major,b);
       printf("请输入修改后的学生地址: ");
       scanf("%s",b);strcpy(stu[i].addr,b);
   }
   if(stu[i].num==0)
    printf("不存在");
   if((fp=fopen("e://13.txt","w"))==NULL)
   {
    printf("文件无法打开!");
       exit(1);
   }
   i=0;
   while(stu[i].num!=0)
   {
    fprintf(fp,"%-15d %-10s %-15d %-10s %-10s %-10s/n",stu[i].num,stu[i].name,stu[i].sex,stu[i].shengri,stu[i].major,stu[i].addr);
     i++;
   }
    fclose(fp);
 printf("修改成功!");getchar();
    printf(" 请按Enter键返回主菜单 ");
}
/*************************************************************/
void fun6()
{
     printf(" 感谢您使用本系统/n");  
    printf(" 请按Enter键退出系统/n ");
    exit(1); 
}

发布了40 篇原创文章 · 获赞 37 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/sanyang730/article/details/5412557