| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 403 人关注过本帖
标题:C学生系统(帮忙改进哈)
只看楼主 加入收藏
tredy6t
Rank: 2
等 级:论坛游民
帖 子:41
专家分:59
注 册:2015-8-6
结帖率:45.45%
收藏
已结贴  问题点数:10 回复次数:1 
C学生系统(帮忙改进哈)
#include<stdio.h>
#include<string.h>
struct student
{
    char name [20];
    long int number;
    char sex;
    int age;
    long int phone;
}stu[20];
struct student *p;
int n,i;//表示学生数
int s_add();
int s_scan();
int s_update();
int s_delete();
int main()
{
    int a;//选择
    printf("--------------------------------------------------------------------------------\n");
        printf("------------------------------欢迎使用学生系统----------------------------------\n");
            //printf("-------------------------------------------------------------------------------\n");
        printf("------------------------------请根据提示正常操作--------------------------------\n\n");
        printf("--------------------------------------------------------------------------------\n");
    printf("\t\t\t 1----添加学生信\n");
    printf("\t\t\t 2----查询学生的信息\n");
    printf("\t\t\t 3----修改学生信息\n");
    printf("\t\t\t 4----删除学生的信息\n");
    printf("\t\t\t 0----退出\n");
    printf("请输入你的选择:");
    scanf("%d",&a);
    switch(a)
    {
        case 0:break;
        case 1:s_add();break;
        case 2:s_scan();break;
        case 3:s_update();break;
        case 4:s_delete();break;
        default:printf("error!try again\n");break;
        }
    return 0;
}
int s_add()
{
    int b;
    if(n==0)
    p=stu;
    while(b)
    {
    printf("姓名:");
    scanf("%s\n",p->name);
    printf("学号:");
    scanf("%ld\n",&p->number);
    printf("性别:");
    scanf("%c\n",&p->sex);
    printf("年龄:");
    scanf("%d\n",&p->age);
    printf("电话号码:");
    scanf("%ld\n",&p->phone);
    p++;
    n++;
    printf("1:继续输入 \n");
    printf("0:输入完成\n");
    printf("请输入选择:\n");
    scanf("%d",&b);
    }
printf("你一共输入%d个学生\n",n);
printf("姓名    学号    性别      年龄    电话号码 \n");
for(i=0;i<n;i++)
printf("%s%ld%c%d%ld\n",stu[i].name,stu[i].number,stu[i].sex,stu[i].age,stu[i].phone);
return 0;
}   
int s_scan()
{
    int b;
    char name[20];
    long int num;
    while(n!=0)
    {
        printf("学生总数:\n");
    for(i=0;i<n;i++)
        printf("%s%ld%c%d%ld\n",stu[i].name,stu[i].number,stu[i].sex,stu[i].age,stu[i].phone);
    printf("\t\t 1--姓名查询--\n");
    printf("\t\t 2--学号查询--\n");
    printf("\t\t 0----取消----\n");
    printf("\t\t 请输入你的选择:");
    scanf("%d",&b);
        switch(b)
    {
        case 1:printf("请输入要查询的姓名:");
        scanf("%s",name);
        for(i=0;i<n;i++)
        if(strcmp(stu[i].name,name)==0)
        {
            printf("你要查找的信息:\n");
        printf("%s%ld%c%d%ld\n",stu[i].name,stu[i].number,stu[i].sex,stu[i].age,stu[i].phone);
            }
        break;
            case 2:printf("请输入要查询的学号:");
            scanf("%ld",num);
            for(i=0;i<n;i++)
            if(stu[i].number==num)
            {
            printf("你要查找的信息:\n");
        printf("%s%ld%c%d%ld\n",stu[i].name,stu[i].number,stu[i].sex,stu[i].age,stu[i].phone);
            }
            break;
            case 0:break;
            default:printf("error!try again!");break;
        }
    }
            return 0;
}
int s_update()
{
    char name[20];
    int c;
    if(n!=0)
    {
        printf("请输入你要修改的姓名:");
        scanf("%s",name);
        for(i=0;i<n;i++)
            if(strcmp(stu[i].name,name)==0)
        {
                printf("请输入你要修改的信息:");
                printf("\t\t 1--修改学号:\n");
                printf("\t\t 2--修改性别:\n");
                printf("\t\t 3--修改年龄:\n");
                printf("\t\t 4--修改电话号码:");
                printf("\t\t 0--取消");
                printf("请输入你的选择:");
                    scanf("%d",c);
                    switch(c)
                    {
                    case 1:printf("请输入新学号:");
                        scanf("%ld\n",&stu[i].number);break;
                    case 2:printf("请输入性别:");
                        scanf("%c\n",&stu[i].sex);break;
                    case 3:printf("请输入年龄:");
                        scanf("%ld\n",&stu[i].age);break;
                    case 4:printf("请输入电话号码:");
                        scanf("%ld\n",&stu[i].number);break;
                    default:printf("error,try again");break;
            }
            }else printf("无学生数据!");
    }
   
    return 0;
}
 int s_delete()
{
    long int num;
 int i,j,k;
 if(n!=0)
 {
  for(i=0;i<n;i++)
      printf("%s%ld%c%d%ld\n",stu[i].name,stu[i].number,stu[i].sex,stu[i].age,stu[i].phone);
  printf("请输入您要删除的学生的学号:");
  scanf("%ld", &num);
  printf("\n");
  for(i=0;i<n;i++)
  if(num==stu[i].number)
    j=i;
  if(j!=(n-1))
     for(k=i-1;k<n;k++,j++)
     {
      stu[j].number=stu[j+1].number;
      strcpy(stu[j].name,stu[j+1].name);
      stu[j].sex=stu[j+1].sex;
      stu[j].age=stu[j+1].age;
      stu[j].phone=stu[j+1].phone;
      n--;p--;
     }
   else
   {
       n--;p--;}
  printf("提示:删除完毕!");
  }
 else    printf("提示:无学生数据,请输入数据!");
 return 0;
}
  
搜索更多相关主题的帖子: include number 
2015-11-03 21:21
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:10 
改進?你這程序老師說算合格了?

授人以渔,不授人以鱼。
2015-11-03 23:40
快速回复:C学生系统(帮忙改进哈)
数据加载中...
 
   



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

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