| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 460 人关注过本帖
标题:哪位高人帮我改一下代码
取消只看楼主 加入收藏
腊月寒风
Rank: 1
等 级:新手上路
帖 子:6
专家分:3
注 册:2010-10-16
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
哪位高人帮我改一下代码
//实现简单的学生成绩信息管理软件。
   // 学生信息包括:学号、姓名、4门课程的成绩(计算机,数学,英语,物理)。
   // 要实现的功能:学生信息的录入、修改、删除和查询。
#include<stdio.h>
int n;
struct student
    {
        int id;
        char name[20];
        float com,math,en,phy;
    }stu[20];
    struct student *a=&stu[0];
void record(struct student *p)
{
    int i;
    printf("Input the number of students.\n");
    scanf("%d",&n);
    printf("Input the information of each student.\n");
    for(i=0;i<n;i++)
        scanf("%d%s%f%f%f%f",&(p+i)->id,(p+i)->name,&(p+i)->com,&(p+i)->math,&(p+i)->en,&(p+i)->phy);
    getchar();
}
void correct(struct student *p)
{
    int i,b,flag=1;
    printf("Input the ID of a student which you want to correct.\n");
    scanf("%d",&b);
    for(i=0;i<n;i++)
       if(b==(p+i)->id)
       {
          scanf("%d%s%f%f%f%f",&(p+i)->id,(p+i)->name,&(p+i)->com,&(p+i)->math,&(p+i)->en,&(p+i)->phy);
          flag=0;
       }
       if(flag)
        printf("No such student.\n");
       getchar();
}
void Delete(struct student *p)
{
    int i,b,flag=1;
    printf("Input the ID of a student you want to delete.\n");   
    scanf("%d",&b);
    for(i=0;i<n;i++)
        if(b==(p+i)->id)
        {
            (p+i)->id='\0';
            flag=0;
        }
        if(flag)
        printf("No such student.\n");
        getchar();
}
void search(struct student *p)
{
    int i,b,flag=1;
    printf("Input the ID of a student you want to search.\n");   
    scanf("%d",&b);
    for(i=0;i<n;i++)
        if(b==(p+i)->id)
        {  
            printf("%-4d%-10s%-6.1f%-6.1f%-6.1f%-6.1f\n",(p+i)->id,(p+i)->name,(p+i)->com,(p+i)->math,(p+i)->en,(p+i)->phy);
            flag=0;
        }
        if(flag)
        printf("No such student.\n");
        getchar();
}
int main()
{
    char c;
    while(1)
    {
        printf("A record  B correct  C delete  D search  E end\n");
        scanf("%c",&c);
        if(c=='A')       record(a);
        else if(c=='B')  correct(a);
        else if(c=='C')  Delete(a);
        else if(c=='D')  search(a);
        else if(c=='E')  break;
    }
    return 0;
}
//第二次输入学生数据会把以前的数据覆盖;希望帮我改一下,谢谢!




   




搜索更多相关主题的帖子: 管理软件 计算机 学生成绩 英语 姓名 
2011-03-02 21:29
腊月寒风
Rank: 1
等 级:新手上路
帖 子:6
专家分:3
注 册:2010-10-16
收藏
得分:0 
谢谢指导
2011-03-03 00:05
快速回复:哪位高人帮我改一下代码
数据加载中...
 
   



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

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