| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 467 人关注过本帖
标题:程序运行问题?一个管理系统在运行中,查找信息,就会输出所要查找信息,和 ...
只看楼主 加入收藏
阳光的安慰
Rank: 1
等 级:禁止访问
帖 子:12
专家分:0
注 册:2013-12-24
结帖率:20%
收藏
已结贴  问题点数:10 回复次数:2 
程序运行问题?一个管理系统在运行中,查找信息,就会输出所要查找信息,和所有储存信息。
程序代码:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
# define SIZE 100
typedef struct{
char name[10];              //*学生姓名*//
char no[20];                 //*学号由20个字符组成*//
int score;                  //*学生成绩*//               
}Stu;                        //*元素类型*//
typedef struct{
Stu elem[100];
int Length;
int size;
}Mylist;
int init_list(Mylist&la)
{la.Length=0;
la.size=100;
return 1;}
int List_insert(Mylist &la,int i,Stu e)
{Stu *p,*q;
    if ((i<1) || (i>la.Length+1))
       return 0;
    p=&(la.elem[i-1]);
    q=&(la.elem[la.Length-1]);
    for (;q>=p;q--)
    {
        *(q+1)=*q;
    }
    *p=e;
    la.Length++;
    return 1;
}

int Find1(Mylist &la,char * name) /*查找并显示一个记录*/
{int i;
for (i=0;i<la.Length;i++)
{if (strcmp(la.elem[i].name,name)==0)
return i+1;}
return 0;}
int Find2(Mylist la,char * no) /*查找并显示一个记录*/
{int i;
for (i=0;i<la.Length;i++)
{if (strcmp(la.elem[i].no,no)==0)
return i+1;}
return 0;}

int Find3(Mylist la, int &score) /*查找并显示一个记录*/
{int i;
for (i=0;i<la.Length;i++)
{if (la.elem[i].score==score)
return i+1;}
return 0;}
void main()
{int k;
char choose;
Stu stud;
Mylist L;
init_list(L);
while(1)
{printf("--------------------------------------\n");
printf("|            学生成绩管理系统        |\n");
printf("|     1.... 录入学生信息                 |\n");
printf("|     2.... 查找学生信息      |\n");             
printf("|     3.... 按任意键退出            |\n");
printf("--------------------------------------");
printf("\n");    
printf("\n");    
printf("请输入您要进行的操作:");
fflush(stdin);
scanf("%c",&choose);
switch(choose)
{case '1' :
printf("输入学生学号,姓名,成绩(用空格隔开)\n");

 scanf("%s%s%d",stud.no,stud.name,&stud.score);

 List_insert (L,L.Length+1,stud);                           //录入学生信息
 break ;
case '2':

 printf("--------------------------------------\n");

 printf("|           查找学生信息       |\n");

 printf("|     1.... 按姓名查找                 |\n");

 printf("|     2.... 按学号查找      |\n");    

 printf("|     3.... 查找按成绩        |\n");      

 printf("|     4.... 按任意键退出            |\n");

 printf("--------------------------------------");

 printf("请输入您要进行的操作:");

 fflush(stdin);

 char choose1;

 scanf("%c",&choose1);

 switch(choose1)
    {case '1' :

    printf("请输入姓名:");
            scanf("%s",stud.name);
            k= Find1(L,stud.name);
            if(k==0)
              printf("此学生系统中没有这个名字\n");
            else
              printf("该学生的信息 :%s  %s  %d\n",L.elem[k-1].name,L.elem[k-1].no,L.elem[k-1].score);
            break;
        case'2':
         printf("请输入学号:");
            scanf("%s",stud.no);
            k= Find2(L,stud.no);
            if(k==0)
              printf("此学生系统中没有这个名字\n");
            else
              printf("该学生的信息 :%s  %s  %d\n",L.elem[k-1].name,L.elem[k-1].no,L.elem[k-1].score);
            break;
        case '3' :
          printf("输入你要查找的分数\n");
            scanf("%s",stud.score);
        k=Find3(L,stud.score);
                if(k==0)
                    printf("此学生系统中没有这个名字\n");
                else
             printf("该学生的信息 :%s  %s  %d\n",L.elem[k-1].name,L.elem[k-1].no,L.elem[k-1].score);
            break ;                                                  
        case '4':exit(0);
               }
    case'5':
       exit(0);

}
}
}        

搜索更多相关主题的帖子: 管理系统 color 信息 
2013-12-24 19:14
wangdayong99
Rank: 2
等 级:论坛游民
帖 子:9
专家分:97
注 册:2013-12-24
收藏
得分:10 
程序没有错,输入2条学生信息,按姓名查找可以分别找出来,见附件运行结果
图片附件: 游客没有浏览图片的权限,请 登录注册
2013-12-25 13:42
阳光的安慰
Rank: 1
等 级:禁止访问
帖 子:12
专家分:0
注 册:2013-12-24
收藏
得分:0 
回复 2楼 wangdayong99
这个,太奇怪了,我起初运行时,明明有错,谢谢您了!

我是王黑黑。来捣乱的~~~~(>_<)~~~~
2014-01-05 10:16
快速回复:程序运行问题?一个管理系统在运行中,查找信息,就会输出所要查找信息 ...
数据加载中...
 
   



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

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