| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1704 人关注过本帖, 3 人收藏
标题:简单的学生成绩管理系统001版。求意见。
只看楼主 加入收藏
于祥
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:5
帖 子:1047
专家分:4132
注 册:2011-4-24
收藏
得分:2 
  for(i = 1; i < 5; i++)
     {
         printf("\n请输入密码:");
         gets(password);
         if (strcmp(password, "1") == 0)
         {         
            while(1)
             {
                 menu(); //  进入主界面
                 printf("请选择:");
                 do{
                      scanf("%d", &select);
                 }while (select < 1 || select > 7);
            
                     switch (select)
                     {
                         case 1:  head = input();             break;
                         case 2:  output(head);               break;
                          case 3:  search(head);               break;
                         case 4:  head = del(head);           break;
                         case 5:  head = modify(head);        break;
                         case 6:  head = order_sort(head);    break;
                         case 7:  quit();                     break;
                     }
                 system("pause");
                 system("cls");
             }
         }
         else
         {
            printf("密码错误\n请第%d次输入:", i + 1);//这句里边加个"\n",我觉得舒服一些。
            gets(password);                 //这句没有必要吧,和上边的重复了。
         }
     }
 ************************************************StuInfo *input()
 {
   
     StuInfo  *head = NULL, *p;
     int i, flag = 1,a = 1 ;
     float s = 0;
 
    system("cls");
     while (1)
     {
         printf("*****请输入第%d个学生的信息******\n",a);//我觉得加上这句输入的时候就更加清晰了!
         p = (StuInfo *)malloc(LEN);
         printf("\n请输入学生的序号:");
         scanf("%d", &p -> order);
         if (p -> order <= 0) break;
         printf("\n请输入学生的学号:");
         scanf("%s", p -> stu_id);
         printf("\n请输入学生的姓名:");
         scanf("%s", p -> name);
         printf("\n请输入学生的性别:");
         scanf("%s", p -> sex);
         printf("\n请输入3门课的成绩:");
         for (i = 1; i <= 3; i++)
         {
             switch (i)
             {
             case 1: printf("\n请输入数学成绩:"); break;
             case 2: printf("\n请输入英语成绩:"); break;
             case 3: printf("\n请输入c语言成绩:"); break;
             }
             scanf("%f", &p -> score[i - 1]);
           while (p ->score[i - 1] < 0 || p -> score[i - 1] > 100)
           {  
               printf("\n错误的输入,请重新输入:");
               scanf("%f", &p -> score[i - 1]);
           }
         }
         for (i = 1; i <= 3; i++)
         s += p -> score[i];
         p -> sum = s;
         p -> ave = s / 3;   
        
      
        p -> next = head;
         head = p;
     }
    a++;
     return (head);
 }
 
向你学习一下,我还没编出这么长的程序来了!

最基础的往往是你最容易忽略的!
2012-03-06 13:09
a646404908
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:189
专家分:492
注 册:2012-2-14
收藏
得分:2 
while (1)我好像退不出循环啊,不停的要我输入  求解释啊,,,
    {
   
        p = (StuInfo *)malloc(LEN);
        printf("\n请输入学生的序号:");
        scanf("%d", &p -> order);
        if (p -> order <= 0) break;
        printf("\n请输入学生的学号:");
        scanf("%s", p -> stu_id);
        printf("\n请输入学生的姓名:");
        scanf("%s", p -> name);
        printf("\n请输入学生的性别:");
        scanf("%s", p -> sex);
        printf("\n请输入3门课的成绩:");
        for (i = 1; i <= 3; i++)
        {
            switch (i)
            {
            case 1: printf("\n请输入数学成绩:"); break;
            case 2: printf("\n请输入英语成绩:"); break;
            case 3: printf("\n请输入c语言成绩:"); break;
            }
            scanf("%f", &p -> score[i - 1]);
          while (p ->score[i - 1] < 0 || p -> score[i - 1] > 100)
          {  
              printf("\n错误的输入,请重新输入:");
              scanf("%f", &p -> score[i - 1]);
          }
        }
2012-03-06 13:13
于祥
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:5
帖 子:1047
专家分:4132
注 册:2011-4-24
收藏
得分:0 
回复 12楼 a646404908
你输入0他就会结束的

最基础的往往是你最容易忽略的!
2012-03-06 13:33
a646404908
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:189
专家分:492
注 册:2012-2-14
收藏
得分:0 
回复 13楼 于祥
哦 谢咯
2012-03-06 13:35
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
回复 11楼 于祥
谢谢你的建议 很好我采纳

梅尚程荀
马谭杨奚







                                                       
2012-03-06 13:54
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
回复 12楼 a646404908
if (p -> order <= 0) break;
这个是退出条件。

梅尚程荀
马谭杨奚







                                                       
2012-03-06 13:55
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
回复 10楼 hf201089
一起交流,互相帮助。

梅尚程荀
马谭杨奚







                                                       
2012-03-06 13:56
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:2 
以下是引用laoyang103在2012-3-5 21:27:28的发言:

呵呵 随便说两句  链表的排序首选是插入排序  你的排序我没仔细看 呵呵

建议再加个功能  把信息存入文件


我以为可以写database的。

没有任何安全机制

一看就是没好好设计的 code 结构样式
2012-03-06 14:17
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
以下是引用Devil_W在2012-3-6 14:17:00的发言:

 
 
我以为可以写database的。
 
没有任何安全机制
 
一看就是没好好设计的 code 结构样式
大侠,俺数据库是空白,code结构样式怎么设计才好?我现在准备在VS2010下把他分成模块组装起来怎么样?
安全机制有哪些?你指的是内存管理吗?

梅尚程荀
马谭杨奚







                                                       
2012-03-06 14:21
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:0 
以下是引用有容就大在2012-3-6 14:21:50的发言:

 大侠,俺数据库是空白,code结构样式怎么设计才好?我现在准备在VS2010下把他分成模块组装起来怎么样?
安全机制有哪些?你指的是内存管理吗?


1. 首先你分析了这个玩意应该分为几个模块?
2. 逻辑层和数据层分离了吗?
3. 我一般是见不得我的代码里面有中文的。
2012-03-06 14:38
快速回复:简单的学生成绩管理系统001版。求意见。
数据加载中...
 
   



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

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