标题:学生成绩管理系统--帮忙看一下这段代码中怎么编写browse()函数模块
只看楼主
hw荒野大飚客
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-9-11
结帖率:0
已结贴  问题点数:20 回复次数:6 
学生成绩管理系统--帮忙看一下这段代码中怎么编写browse()函数模块
/*  HELLO.C -- Hello, world */

#include "stdio.h"
#include "conio.h"


typedef struct student
{char num[11];
 char name[20];
 int score[3];
 float ave;
 struct student *next;
}STU,*PSTU;

STU head;
PSTU Phead,Ptail;
void Init(void)
{
    head.next=NULL;
    Phead = &head;
    Ptail = Phead;


}
void Menu(void);

void Save(void)
{
  FILE *fp;
  PSTU tmp;
  tmp=Phead->next;
  fp = fopen("e:\\data.txt","w");
  while(tmp!=NULL){
      fprintf(fp,"%s %s %d %d %d %f\n",tmp->num,tmp->name,tmp->score[0],tmp->score[1],tmp->score[2],tmp->ave);
      tmp=tmp->next;
  }


  fclose(fp);

}

void InputNum(char *num)
{

 char no[1000];
 int err=0,i;
 while(1)
 {
    clrscr();
    printf("Please Input Number\n");
    scanf("%s",no);
    if(strlen(no)>10){err=1;printf("Err");}
    for(i=0;i<strlen(no);i++){
     if(no[i]<'0' || no[i]>'9')  {err=1;printf("Err");}
    }
    if(err==1){err=0;continue;}
    else break;
 }
 strcpy(num,no);

}

void InputName(char *name)
{
   printf("InputName\n");
   scanf("%s",name);
}

void InputScore(int *score)
{
  int i;
  printf("InputScore\n");
  for(i=0;i<3;i++)
  scanf("%d",&score[i]);
}

int PrintMenu(void)
{
  int n,w1;
  do
  {
   clrscr();                   /*清屏*/
   puts("\t\t*********************MENU*********************\n\n");
   puts("\t\t\t\t1.Enter new data");
   puts("\t\t\t\t2.Addition data");
   puts("\t\t\t\t3.Modify data");
   puts("\t\t\t\t4.Delete data");
   puts("\t\t\t\t5.Browse all");
   puts("\t\t\t\t6.Search by name");
   puts("\t\t\t\t7.Insert data");
   puts("\t\t\t\t8.Order by average");
   puts("\t\t\t\t9.Exit");
   puts("\n\n\t\t**********************************************\n");
   printf("Choice your number(1-9): [ ]\b\b");
   scanf("%d",&n);
   if(n>=1&&n<=9)                                  /*对选择的数字作判断*/
     {return n;}
   
   }while(1);   
}

void InputInfo(void)
{
  int sel;
  PSTU tmp;
  char num[11]="1234",name[20]="LiJun";
  int score[3]={56,44,88};
  clrscr();
  printf("Enter new data\n");
  InputNum(num);
  InputName(name);
  InputScore(score);
  tmp = (PSTU)malloc(sizeof(STU));
  strcpy(tmp->num,num);
  strcpy(tmp->name,name);
  tmp->score[0]=   score[0];
  tmp->score[1]=   score[1];
  tmp->score[2]=   score[2];
  tmp->ave=(score[0]+score[1]+score[2])/3.0;
  Ptail->next= tmp;
  tmp->next=NULL;
  Ptail=tmp;
  Save();
  printf("num=%s  name=%s    score1=%d   score2=%d   score3=%d  ave=%f\n",Ptail->num,Ptail->name,Ptail->score[0],Ptail->score[1],Ptail->score[2],Ptail->ave);
  printf("1.Back To Menu     2.ReInput\n");
  scanf("%d",&sel);
  if(sel==1)Menu();
  else if(sel==2)InputInfo();

}

void Browse(void)
{
  STU *p;
  printf("Browse\n");
  p=&head;
  printf("\n*****************************STUDENT*****************************\n");
  printf("\n---------------------------------------------------------\n");
  printf("|Num | Name | Score1 | Score2 | Score3 | ave |\n");
  while(p->next!=NULL)
  {
     printf("|%3s | %3s | %3d | %3d | %3d | %3f |\n",p->num,p->name,p->score[1],p->score[2],p->score[3],p->ave);

     p=p->next;
    }

    printf("-----------------------------------------------------------\n");
    printf("*******************************END*********************************\n");
}
void Add(void)
 {
  printf("Add\n");
}
void Modify(void)
{
  printf("Modify\n");
}
void Del(void)
{
  printf("Del\n");
}
void Search(void)
 {
  printf("Search\n");
}
void Exit(void)
{
  exit(0);
}

void Menu(void)
{

    int sel;
    sel=PrintMenu();
    switch(sel){
      case 1:
          InputInfo( );
          break;
      case 2:
          Add( );   
          break;
      case 3:
          Modify( );   
          break;
      case 4:
          Del( );   
          break;
      case 5:
          Browse();
          break;
      case 6:
          Search( );   
          break;
      case 9:
          Exit( );
          break;
      default:
            break;
    }

}

main()
{
 Init();
 Menu();
 getch();
}

搜索更多相关主题的帖子: void next include world 
2012-11-04 10:52
锋了
Rank: 7Rank: 7Rank: 7
来 自:向日葵幼儿园
等 级:黑侠
威 望:2
帖 子:306
专家分:586
注 册:2012-10-27
得分:7 
你的browse()函数做什么的也说一下啊!不然怎么懂你想做什么
2012-11-04 11:12
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:7 
浏览数据,看自己想以怎样的方式浏览数据了。

授人以渔,不授人以鱼。
2012-11-04 11:22
hw荒野大飚客
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-9-11
得分:0 
回复 3楼 TonyDeng
??就是靠指针的移动去浏览啊
2012-11-04 11:44
青春无限
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江苏
等 级:贵宾
威 望:24
帖 子:3450
专家分:19340
注 册:2012-3-31
得分:7 
[em01学习学习

学 会看代码…学习写程序…学会搞开发…我的目标!呵呵是不是说大话啊!!一切皆可能
2012-11-04 11:49
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
我当然知道你想这样,不过这最好自己做,因为你用的是TC。browse浏览,有简单,也有复杂,看你想提供多少功能做界面罢了。其实做起来也不算太难,你这个程序,根本上主要架构就在browse数据上,替你做等于做完整个程序了。

授人以渔,不授人以鱼。
2012-11-04 11:50
hw荒野大飚客
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-9-11
得分:0 
回复 6楼 TonyDeng
来点实际的吧,求代码
2012-11-04 12:28



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-385843-1-1.html




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

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