| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 895 人关注过本帖
标题:c语言课程设计,这个怎么写啊?
只看楼主 加入收藏
昵称
Rank: 1
等 级:新手上路
帖 子:6
专家分:2
注 册:2013-6-18
结帖率:0
收藏
已结贴  问题点数:5 回复次数:8 
c语言课程设计,这个怎么写啊?
要求采用先来先就诊的排队方式(就诊顺序与挂号单编号无关),假设挂号时编码是连续的,但由于同一个门诊科目有3个诊室,其中35(含35)岁以上的在第一诊室,35岁以下男患者进第二诊室,其它的进第三诊室,程序启动后显示下列菜单:
【实现提示】
1--挂号
2--叫号
3--分诊室
4--显示各诊室队列信息
5--统计当天就诊的患者情况(要求按性别进行统计和按任意年龄区段进行统计)
6--结束程序
选1时,提示用户在一行内输入姓名及挂号单编号;
选2时,显示排在队列中第一位患者姓名、挂号单编号,并将其从挂号序列中删除
选3时,进行诊室分配
选4时,按队列顺序显示个诊室排队人的姓名、挂号单编号及所在诊室
选5时,进行两种统计方法的选择,并进行必要的统计计算
选6时,退出程序的运行
要求1~5中每一个步骤完成后都能重新显示此选择菜单。
搜索更多相关主题的帖子: 先来 统计 课程 c语言 
2013-06-18 12:18
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:2 
菜单程序....
先设计一个选择菜单  
然后6个函数(对应菜单的六个功能)
下面是我的一个简单的菜单程序    仅供参考  具体还要你自己写
程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
#include<math.h>
#include<time.h>
#include<windows.h>

void cs1();
void cs2();
void cs3();
int menu_select();

void main()
{
    for(;;)
    {
        switch(menu_select())
        {
        case 1:
            cs1();
            break;
        case 2:
            cs2();
            break;
        case 3:
            cs3();
            break;
        case 4:
            printf("Goodbye!\n");
            exit(0);
        }
    }
}
//游戏菜单选择
int menu_select()
{
    char s;
    int k;
    printf("1. 猜数游戏1\n");
    printf("2. 猜数游戏2\n");
    printf("3. 记忆猜数\n");
    printf("4. Goodbye!\n");
    printf("input 1-4:");
    do{
        s=getchar();
        k=(int)s-48;
    }while(k<0||k>4);
    return k;
}
//猜数游戏1
void cs1()
{
    int c,d=4;
    printf("程序设定好了一个在1-9内的一个数,由你来猜!\n");
    printf("你仅有一次就会!\n");
    printf("input a number of 1-9:\n");
    scanf("%d",&c);
    if(c<d)
        printf("lower!\n");
    else if(c>d)
        printf("upper!\n");
    else
        printf("right!\n");
    printf("GAME OVER!\n");

}
//猜数游戏2
void cs2()
{
    int a1=3,a2=5,a3=9,a4=7;
    int b1,b2,b3,b4;
    int n=0;
    int c1,c2;
    printf("游戏规则:\n");
    printf("游戏事先设定好了四个数,让你猜,必须猜到数一样位置也要一样!输入时每个数字间要有空格!当然每输入一次后错了的话后面都会给予提示。提示形如?A?B,A表示位置和数字都相同,前面的问号是一个数,表示位置和数字都相同的个数,B表示数字相同但位置不同,问号同理。例如:3A1B,表示有三个数位置和数字都相同,一个数数字相同但位置不同;0A0B,表示所有数的数字和位置都不同。");
    printf("你将有8次机会!\n");
    printf("\n\tGuess numbers!\n\n");
        while(1){
            printf("%d:",n+1);
            scanf("%d%d%d%d",&b1,&b2,&b3,&b4);
            c1=0;
            c2=0;
            if(a1==b1)
                c1++;
            if(a2==b2)
                c1++;
            if(a3==b3)
                c1++;
            if(a4==b4)
                c1++;
            if(a1==b2||a1==b3||a1==b4)
                c2++;
            if(a2==b1||a2==b3||a2==b4)
                c2++;
            if(a3==b1||a3==b2||a3==b4)
                c2++;
            if(a4==b1||a4==b2||a4==b3)
                c2++;
            printf("\t\t%dA%dB\n",c1,c2);
            if(c1==4){
            printf("\n\tWell done!\n");
            getchar();
            break;
            }
            n++;
            if(n>7){
            printf("\nyou lose!\n");
            getchar();
            break;
            }
        }
}
//记忆猜数
void cs3()
{

 char another_game='Y';

 int i,j,k;

 int sequence_length=0;

 time_t seed=0;

 int correct=1;

 int number=0;

 time_t now=0;

 int time_taken=0;

 int counter=0;

 SYSTEMTIME time_now;

 GetLocalTime(&time_now);

 printf("运行程序时间:%d:%d:%d\n",time_now.wHour,time_now.wMinute,time_now.wSecond);


 printf("\n\t\tthis is a simon game\n");

 printf("\t\t游戏说明\n");

 printf("\t记住你看到的数字,数字停留一秒钟消失\n");

 printf("\t在每个数字之间要有空格,第一个数字之间不能有任何字符!\n");

 printf("\t举例:你看到的数字是 123 则你输入:1 2 3再按ENTER确定\n");

 printf("\t每回答对三次,数字就会增加一个长度,考验一下自己吧!!!\n");

 printf("\nplesase input spaces bettwen numbers\n");

 printf("\t\tprees enter to begain the game\n");

 scanf("%c",&another_game);

 do

 {
  counter=0;
  sequence_length=2;
  correct=1;
  while(correct)
  {
   seed=time(NULL);
   srand((unsigned int)seed);
   sequence_length+=counter++%3==0;
   if(counter==1)
   {
    printf("\nDon't forget the spaces bettwen numbers\n");
   }
   else
   {
    printf("\r");
   }
   for(i=1;i<=sequence_length;i++)
   {
    printf("%d",rand()%10);
   }
   now=clock();
   for(;clock()-now<=CLOCKS_PER_SEC;);
   printf("\r");
   for(k=1;k<=sequence_length;k++)
   {
    printf(" ");
   }
   printf("\r");
   srand((unsigned int)seed);
   for(j=1;j<=sequence_length;j++)
   {
    scanf("%d",&number);
    if(number!=rand()%10)
    {
     correct=0;
     break;
    }
   }
   printf("%s\n",correct? "Right!":"Wrong!");
  }
  time_taken=(clock()-now)/CLOCKS_PER_SEC;
  printf("\nyour score is %d",--counter*100/time_taken);
  fflush(stdin);
  printf("\ndo you want to play again(y/n)?\n");
  scanf("%c",&another_game);

 }while(toupper(another_game)=='Y');

 printf("\n\tThank you for playing the game,and welcome to play it again!");

 printf("\n\n\t\t\tGOODBYE\n\n");

GetLocalTime(&time_now);

 printf("结束程序时间:%d:%d:%d\n",time_now.wHour,time_now.wMinute,time_now.wSecond);

}




三十年河东,三十年河西,莫欺少年穷!
2013-06-18 12:25
Han_FlyB
Rank: 6Rank: 6
等 级:侠之大者
帖 子:143
专家分:424
注 册:2013-3-25
收藏
得分:2 
都是高手
2013-06-18 14:09
夜长风
Rank: 2
等 级:论坛游民
帖 子:46
专家分:37
注 册:2013-6-12
收藏
得分:2 
我就是想知道,我到学到月底能写出2楼这种等级的代码不?
2013-06-18 15:38
suixinwuji1
Rank: 2
等 级:论坛游民
帖 子:11
专家分:13
注 册:2013-6-12
收藏
得分:0 
目测不是特别难,定义一个结构体,存年龄和姓名。菜单其实很简单,调用一个子函数。就是目测要用指针,这个略蛋疼,我的指针不好
2013-06-18 15:53
suixinwuji1
Rank: 2
等 级:论坛游民
帖 子:11
专家分:13
注 册:2013-6-12
收藏
得分:2 
程序代码:
#include <stdio.h>

struct patient
{
    int age;
    char name[10];
    int num;
}p[]={'0','wang'};


 menu()
{
    char k;
    printf("1--挂号\n");
    printf("2--叫号\n");
    printf("3--分诊室\n");
    printf("4--显示各诊室队列信息\n");
    printf("5--统计当天就诊的患者情况(要求按性别进行统计和按任意年龄区段进行统计\n");
    printf("0--结束程序\n");
    printf("请输入要实现功能序号\n");
    scanf("    %c",&k);
    return k;
}
void guahao()

 {
     int i,j;
     printf("请输入有几个病人挂号:");
     scanf("%d",&j);
     for(i=0;i<j;i++)
     {     printf("编号:");
         scanf("%d",&p[i].num);
         printf("请输入姓名:");
        scanf("%s",&p[i].name);
        printf("请输入年龄:");
            scanf("%d",&p[i].age);
     }
     printf("\n");

 }
void main()
{
    char k;
    while(1)
    {    k=menu();
        switch(k)
        {    case'1':guahao();break;
            case'0':exit(0);break;
        

            default:printf("错误!\n");
        }

    }
}

给你写了个框架,写了个子函数,其他你自己写,出去有点事
2013-06-18 16:34
suixinwuji1
Rank: 2
等 级:论坛游民
帖 子:11
专家分:13
注 册:2013-6-12
收藏
得分:0 
对了,如果是诊室,在结构体再加一个
2013-06-18 16:37
昵称
Rank: 1
等 级:新手上路
帖 子:6
专家分:2
注 册:2013-6-18
收藏
得分:0 
#include "stdio.h"
typedef HuanZhe
{
    char name[20];
    int num,age;
    char zs[20];
}Huanzhe;
void main()
{
    int choice;
    Menu();
    while(88)
    {
        scanf("%d",&choice);
        switch(choice)
       {
           case 1:Guahao();break;
           case 2:Diyi();break;
           case 3:zhenshi();break;
           case 4:Xinxi();break;
           case 5:Qingkuang();break;
           case 6:exit(1);
       }
    }
 }
void Menu()
{
    puts("    1--挂号    ");
    puts("    2--叫号    ");
    puts("    3--分诊室    ");
    puts("    4--显示各诊室队列信息    ");
    puts("    5--统计当天就诊的患者情况");
    puts("    6--结束程序    ");

}
void Guahao()
{
    char name[20];
    int num;
    puts("请在一行内输入姓名及挂号单编号");
    scanf("%s%d",name,&num);
}
void Diyi()
{
//显示排在队列中第一位患者姓名、挂号单编号,并将其从挂号序列中删除
}
void zhenshi()
{
    char zs1[20]={在第一诊室就诊!};
    char zs2[20]={在第二诊室就诊!};
    char zs3[20]={在第三诊室就诊!};
    FILE *p,*q;
    p=fopen("患者信息.txt","r+");
    q=fopen("诊室分配.txt","a+");
    int i;
    HuanZhe zh[100];
    for(i=0;i++;i<6)
        fscanf(p,"%d",zh[i].age);
    for(i=0;i++;i<6)
    {
        if(zh[i].age>=35)
            fprintf(q,"%s\t%d\t%d\t%s\n!",zh[i].name,zh[i].num,zs1);
        if(zh[i].age<35)
            fprintf(q,"%s\t%d\t%d\t%s\n!",zh[i].name,zh[i].num,zs2);
        else
            fprintf(q,"%s\t%d\t%d\t%s\n!",zh[i].name,zh[i].num,zs3);
    }
}
void Xinxi()
{
    HuanZhe zh[100];
    FILE *q;
    int i;
    q=fopen("诊室分配.txt","r+");
    for(i=0;i++;i<6)
        fprintf(q,"%s\t%d\t%d\t%s\n!",zh[i].name,zh[i].num,zh[i].zs);
}
void Qingkuang()
{
//进行两种统计方法的选择,并进行必要的统计计算
}





这是我目前写的,有好多错误啊!
2013-06-19 12:01
小核桃pp
Rank: 1
等 级:新手上路
帖 子:5
专家分:5
注 册:2013-7-5
收藏
得分:0 
都是牛人啊,菜鸟路过!还要加油啊!
2013-07-09 17:03
快速回复:c语言课程设计,这个怎么写啊?
数据加载中...
 
   



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

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