| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 698 人关注过本帖
标题:求大神看看这个程序该怎么改。。
只看楼主 加入收藏
Crazy_li
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2014-4-17
结帖率:100%
收藏
已结贴  问题点数:2 回复次数:14 
求大神看看这个程序该怎么改。。
程序代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define NUM 200

 typedef struct

 {
  char driver[10];
  int car;
  char police[10];
  int num;
  int year;
  int month;
  int date;

 }Traffic;

 int my_menu()

 { int num;
  system("cls");
  printf("1. Input records\n");
  printf("2. Display all records\n");
  printf("3. Delete a record\n");
  printf("4. sort\n");
  printf("5. Insert a record\n");
  printf("6. Query\n");
  printf("7. Add records from a Text File\n");
  printf("8. Write to a Text File\n");
  printf("9. research records\n");
  printf("0. Quit\n");
  printf("Please input the number(0~9):");
  scanf("%d",&num);
  while(num<0||num>9)
    {  
        printf("输入错误,请重新输入: \n");
        system("pause");
        my_menu();
        scanf("%d",&num);
    }
  return num;

 }

 int Input(Traffic trafList[],int n)
     { int word;
        do
         {
           printf("Please increase the record:\n");
           printf("请输入违章司机姓名、车牌号、开罚单警察、罚单号、罚单的年、月和日:\n");
           printf("违章司机:\t");
           scanf("%s",&trafList[n].driver[10]);
           printf("车牌号:\t");
           scanf("%d",&trafList[n].car);
           printf("开单警察:\t");
           scanf("%s",&trafList[n].police[10]);
           printf("罚单号:\t");
           scanf("%d",&trafList[n].num);
           printf("年:\t");
           scanf("%d",&trafList[n].year);
           printf("月:\t");
           scanf("%d",&trafList[n].month);
           printf("日:\t");
           scanf("%d",&trafList[n].date);
           printf("\n");
           n++;
           printf("是否继续添加记录(Yes(1)/No(0)):");
              scanf("%d",&word);
        }
        while(word==1);
        return n;
     }

 void Display(Traffic trafList[],int n)

 { int i;
   for(i=0;i<n;i++)
  {printf("违章司机\t%s\n",trafList[i].driver[10]);
   printf("违章车牌\t%d\n",trafList[i].car);
   printf("开单警察\t%s\n",trafList[i].police[10]);
   printf("罚单编号\t%d\n",trafList[i].num);
   printf("年\\月\\日\t%d\\%d\\%d\n",trafList[i].year,trafList[i].month,trafList[i].date);
   printf("\n\n");
   while((i+1)%10==0)printf("\f"); 
  }

 }

 void Delete_a_record(Traffic trafList[],int i)

 {
  Traffic L1={'\0',0,'\0',0,0,0,0};
  trafList[i]=L1;

 }

 int Delete(Traffic trafList[],int n,char *name)

 { int i,t,x;
   for(i=0;i<n;i++)
  {
      t=(int)strcmp(name,trafList[i].driver);
      if(t==0)
              {
               Delete_a_record(trafList,i);
               x=i;
              }                              
  }
  if(i==n)printf("查无此人!!!");
  return x;

 }

 void Sort_by_Name(Traffic trafList[],int n)

 {


 }

 int Insert(Traffic trafList[],int n,Traffic *s)

 {


 }

 int Query(Traffic trafList[],int n,char *name)

 {


 }

 int addfromText(Traffic trafList[],int n)

 {


 }

 void WritetoText(Traffic trafList[],int n,char *filename)

 {


 }

 main()

 {Traffic trafList[NUM];
  char Tlistname[20],Name[10],c;
  char *name=Name;
  int i,n=0,t;
  for(i=0;;i++)
  {
    switch(my_menu())
    {
    case(1):  {
                 n=Input(trafList,n);
                 break;
              }
    case(2):  {
               Display(trafList,n);
               system("pause");
               break;
              }
    case(3):  {
               printf("Please input the name to delete the record:");
               scanf("%s",&name[10]);
               t=Delete(trafList,n,name);
               break;
              }
    case(4):;

    case(5):;

    case(6):;

    case(7):;
   
    case(8):;

    case(9):;

    case(0):{
            printf("正在关闭程序......\n");
            exit(0);
            }

    }
  }


 }
2014-04-19 15:07
Crazy_li
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2014-4-17
收藏
得分:0 
这个程序中 Display函数  不能正确显示 怎么改??????求大神神指教。
2014-04-19 15:09
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
不能正確顯示,你曾經寫過這樣printf()的程序能正確顯示過?沒試過正確性和可行性,你一下子寫這麽多幹嘛?寫程序不是從每條語句都測試通過再搭上去,一下手就長篇大論,抄的吧,抄也沒抄個好的示範。

授人以渔,不授人以鱼。
2014-04-19 15:26
Crazy_li
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2014-4-17
收藏
得分:0 
回复 3 楼 TonyDeng
这是我自己编的。。是我们的课程设计作业。。我编到这里就进行不下去了。。很多都不能跟着预想的运行。。
2014-04-19 15:30
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你Display()函數中那些printf()的參數是什麽,考究過嗎?而printf()中的格式要求用什麽類型的參數?

授人以渔,不授人以鱼。
2014-04-19 15:33
Andrew_Lee
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:185
专家分:626
注 册:2014-3-21
收藏
得分:2 
printf("违章司机\t%s\n",trafList[i].driver[10]);
   printf("违章车牌\t%d\n",trafList[i].car);
   printf("开单警察\t%s\n",trafList[i].police[10]);
 应该是:
printf("违章司机\t%s\n",trafList[i].driver);
   printf("违章车牌\t%d\n",trafList[i].car);
   printf("开单警察\t%s\n",trafList[i].police);
2014-04-19 15:35
Crazy_li
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2014-4-17
收藏
得分:0 
回复 5 楼 TonyDeng
对不起。。。犯低级错误了。
2014-04-19 15:45
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
到課程設計階段了,連printf()函數的使用都沒過關,平時不寫代碼的吧。

授人以渔,不授人以鱼。
2014-04-19 15:46
Crazy_li
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2014-4-17
收藏
得分:0 
回复 6 楼 Andrew_Lee
但是这个用c++ 运行后Dispaly函数输出的人名不是正确的。。
2014-04-19 15:47
Crazy_li
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2014-4-17
收藏
得分:0 
回复 8 楼 TonyDeng
没有。。结构体和指针这快学了才1个礼拜。。我不是计算机专业的。。但还是喜欢编程的。请原谅我的无知。。
2014-04-19 15:50
快速回复:求大神看看这个程序该怎么改。。
数据加载中...
 
   



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

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