c语言程序设计 题目:某医药公司售货系统 求C语言高手帮下忙,成功后高分奖励,谢谢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言程序设计 题目:某医药公司售货系统 求C语言高手帮下忙,成功后高分奖励,谢谢相关的知识,希望对你有一定的参考价值。

用C语言编写软件实现医药公司售货的数字化管理,用户界面中的菜单至少应包括“药品信息录入”、“顾客买药处理”、“查询某种药品销售信息”、“退出”4项。录入药品信息中药包括药品的编号、生产厂家、进价、售价、剩余数量及售出数量等;顾客买药处理模块能够按顾客要求销售某种药品、要考虑药品剩余数量不足的情况;查询模块能够按药品名称查询某日某种药品的销售情况。
这里有个模板,但是少了编号、生产厂家、价格等等,希望高手帮小弟一下忙。
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
typedef struct
char name[10];
int num1;//num1指库存数量
int num2;//num2指销售数量
medicine;
int n;
void input(medicine med[]);
void buy(medicine med[]);
void find(medicine med[]);
void main()

medicine med[100];
char flag;
n=0;
while(1)

printf("********************************************\n");
printf("* 小型药品管理程序 *\n");
printf("* 1.药品信息录入 2.顾客买药处理 *\n");
printf("* 3.查询药品信息 4.退出 *\n");
printf("* 请选择1-4: *\n");
printf("********************************************\n");
fflush(stdin);
scanf("%d",&flag);
switch(flag)

case 1:input(med);break;
case 2:buy(med);break;
case 3:find(med);break;
case 4:exit(0);
default:printf("错误\n");





void input(medicine med[])

printf("请输入药品信息:\n");
while(1)

printf("药品 %d 的名称:",n+1);
fflush(stdin);
gets(med[n].name);
if(strcmp(med[n].name,"0")==0)break;
printf("药品 %d 的库存量:",n+1);
scanf("%d",&med[n].num1);
printf("药品 %d 的售出量:",n+1);
scanf("%d",&med[n].num2);
n++;



void buy(medicine med[])

int i,number;
char a[10];
char flag2=0;
printf("请输入你要买药品的名称:\n");
fflush(stdin);
gets(a);
for(i=0;i<n;i++)

if(strcmp(a,med[i].name)==0)

flag2=1;
printf("你要买多少:\n");
scanf("%d",&number);
if(number>med[i].num1)

printf("库存量不足!\n");

else

med[i].num2+=number;
med[i].num1-=number;
printf("完成!\n");

break;



if(flag2==0)

printf("找不到该药品信息!\n");



void find(medicine med[])

int i;
char a[10];
char flag2=0;
printf("你所要找药品的名称\n");
fflush(stdin);
gets(a);
for(i=0;i<n;i++)

if(strcmp(a,med[i].name)==0)

flag2=1;
printf("%s 药品已经售出 %d,库存量还剩 %d\n",med[i].name,med[i].num2,med[i].num1);
break;


if(flag2==0)

printf("找不到该药品信息!\n");


#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
typedef struct

char name[10];//编号
char productor[20];//厂家
float jinjia;
float shoujia;
int num1;//num1指库存数量
int num2;//num2指销售数量
medicine;

int n;
void input(medicine med[]);
void buy(medicine med[]);
void find(medicine med[]);
void main()

medicine med[100];
char flag;
n=0;
while(1)

printf("********************************************\n");
printf("* 小型药品管理程序 *\n");
printf("* 1.药品信息录入 2.顾客买药处理 *\n");
printf("* 3.查询药品信息 4.退出 *\n");
printf("********************************************\n");
printf("* 请选择1-4: *\n");
fflush(stdin);
scanf("%d",&flag);
switch(flag)

case 1:input(med);break;
case 2:buy(med);break;
case 3:find(med);break;
case 4:exit(0);
default:printf("错误\n");





void input(medicine med[])

printf("请输入药品信息(编号输入0表示结束):\n");
while(1)

printf("药品 %d 的名称:",n+1);
fflush(stdin);
gets(med[n].name);
if(strcmp(med[n].name,"0")==0)
break;
printf("药品 %d 的生产商:",n+1);
scanf("%s",&med[n].productor );
printf("药品 %d 的进价:",n+1);
scanf("%f",&med[n].jinjia );
printf("药品 %d 的售价:",n+1);
scanf("%f",&med[n].shoujia );
printf("药品 %d 的库存量:",n+1);
scanf("%d",&med[n].num1);
printf("药品 %d 的售出量:",n+1);
scanf("%d",&med[n].num2);
n++;



void buy(medicine med[])

int i,number;
char a[10];
char flag2=0;
printf("请输入你要买药品的编号:\n");
fflush(stdin);
gets(a);
for(i=0;i<n;i++)

if(strcmp(a,med[i].name)==0)

flag2=1;
printf("你要买多少:\n");
scanf("%d",&number);
if(number>med[i].num1)

printf("库存量不足!\n");

else

printf("售价为%.2f\n",med[i].shoujia );
med[i].num2+=number;
med[i].num1-=number;
printf("完成!\n");

break;



if(flag2==0)

printf("找不到该药品信息!\n");



void find(medicine med[])

int i;
char a[10];
char flag2=0;
printf("你所要找药品的编号\n");
fflush(stdin);
gets(a);
for(i=0;i<n;i++)

if(strcmp(a,med[i].name)==0)

flag2=1;
printf("%s 药品已经售出 %d,还剩 %d\n",med[i].name,med[i].num2,med[i].num1);
printf("该药品获利%.2f\n:",med[i].num2 *(med[i].shoujia -med[i].jinjia ));
break;


if(flag2==0)

printf("找不到该药品信息!\n");


参考技术A 不会帮顶

C语言题目。

C语言题目。从键盘任意输入某班30名学生的学号、姓名和成绩,要求编程实现以下功能:

从键盘任意输入一个学生的学号,查找出其成绩并输出;若未找到,输出相应提示。

要求通过自定义函数实现查找功能。

用自定义函数求最高分学生信息。

用自定义函数求出不及格人数。

#define N 30
struct stu
char name[20];
int score;
;
void find(struct stu *p,int x)
int i;
for(i=0;i<N;i++)
if(p[i].score==x)
printf("%s\\t%d\\n",p[i].name,p[i].score);
return;

printf("Not find %d...\\n",x);

void mymax(int *y,int i)
(*y)=i;

void failure(int *x)
(*x)++;


int main(int argc,char *argv[])
struct stu s[N];
int i,f,mi,x;
printf("Please enter the name and score for %d students...\\n",N);
for(mi=f=i=0;i<N;i++)
scanf("%s%d",s[i].name,&s[i].score);
if(s[i].score<60)
failure(&f);
if(s[i].score>s[mi].score)
mymax(&mi,i);

printf("Please enter a number to find x...\\nx=");
scanf("%d",&x);
find(s,x);
printf("\\nThe MAX: %s\\t%d\\n",s[mi].name,s[mi].score);
printf("A total of %d people fail to pass the exam.\\n",f);
return 0;

运行样例(5人):

参考技术A #define ARRY_NUM_Student_ID     32
#define ARRY_NUM_Student_Name   16
#define ARRY_NUM_Student_Info   30
#define SCORE_Fail              60

struct tStudentInfo

    char achStudentID[ARRY_NUM_Student_ID];
    char achStudentName[ARRY_NUM_Student_Name];
    int nScore;
;

static tStudentInfo studentArry[ARRY_NUM_Student_Info] = 0;

static void InputStudentInfo(tStudentInfo *arry, int num)

    for (int i = 0; i < num; i++)
    
        printf("请输入第%d个学生的学号,姓名,成绩:", i + 1);
        scanf("%s%s%d", arry[i].achStudentID, arry[i].achStudentName, &arry[i].nScore);
    


static void FindStudentInfo(const char *pStudentID, const tStudentInfo *arry, int num)

    for (int i = 0; i < num; i++)
    
        if (strcmp(pStudentID, arry[i].achStudentID) == 0)
        
            printf("学号%s的成绩为%d\\n", pStudentID, arry[i].nScore);
            return;
        
    

    printf("未找到该学生的成绩\\n");
    return;


static void FindHighest(const tStudentInfo *arry, int num)

    tStudentInfo tmp = 0;

    for (int i = 0; i < num; i++)
    
        if (arry[i].nScore > tmp.nScore)
        
            tmp = arry[i];
        
    

    printf("最高成绩的学生学号:%s,姓名:%s,成绩:%d\\n", tmp.achStudentID, tmp.achStudentName, tmp.nScore);


static int FailCount(const tStudentInfo *arry, int num)

    int nCount = 0;

    for (int i = 0; i < num; i++)
    
        if (arry[i].nScore < SCORE_Fail)
        
            nCount++;
        
    

    return nCount;



int main()

    InputStudentInfo(studentArry, 5);
    FindStudentInfo("1", studentArry, 5);
    FindHighest(studentArry, 5);
    int n = FailCount(studentArry, 5);

    system("pause");
    return 0;

参考技术B 建议结构体追问

发不了私信

参考技术C 这个很容易实现。追问

可以帮我看看嘛

追答

下面已经发了。

以上是关于c语言程序设计 题目:某医药公司售货系统 求C语言高手帮下忙,成功后高分奖励,谢谢的主要内容,如果未能解决你的问题,请参考以下文章

C语言题目。

1、 求c语言程序图书登记管理程序。要求如下急!

<C语言;售货员问题

用C语言和分治算法 求最近的两点的距离~

关于c语言超长正整数相加的问题,。求高手指教!!!!!

设计函数实现求数组中的最大值,用该函数计算某班级学生的最高分.C语言