我在定义诊单中的药品名称用了图中的方法,但是在输入时只能输入一个药品,没有满足输入多个药品的要求,有没有什么方法可以在输入时输入多个药品?跪求答案,希望大哥,大姐们说的明白一点,我才开始学,有些东西搞不懂。
在完成布置的任务时发现的问题
我在定义诊单中的药品名称用了图中的方法,但是在输入时只能输入一个药品,没有满足输入多个药品的要求,有没有什么方法可以在输入时输入多个药品?跪求答案,希望大哥,大姐们说的明白一点,我才开始学,有些东西搞不懂。
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 南城Flipped 2021-11-25 15:54关注
如果只是单纯药品名 那就 输入几个字符串 用空格空开 (我一般都是用空格当间隔符 用其他符号也可以 在scanf语句中体现出来就可以)
scanf("%s %s %s %s",name1,name2,name3,name4);
如果是几个药品的所有信息那么同样可以用空格隔开信息 但是这样就会很长大致模拟了一下
#include<stdio.h> struct drug{ char name[20]; char id[10]; char func[50]; char use [50]; float price; }; int main(){ struct drug d[3]; for(int i = 0;i<3;i++){ scanf("%s %s %s %s %f",d[i].name,d[i].id,d[i].func,d[i].use,&d[i].price); } printf("名称\tID\t功能\t用法\t价格\n"); for(int i = 0;i<3;i++){ printf("%s\t%s\t%s\t%s\t%f\n",d[i].name,d[i].id,d[i].func,d[i].use,d[i].price); } }
运行效果:
也不一定要像我这样一行输入完毕 可以输入一个药品的信息然后回车 换行再写第二个 同样可以
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 BV260Y用MQTT向阿里云发布主题消息一直错误
- ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
- ¥15 划分vlan后,链路不通了?
- ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
- ¥15 Vue3 大型图片数据拖动排序
- ¥15 Centos / PETGEM
- ¥15 划分vlan后不通了
- ¥20 用雷电模拟器安装百达屋apk一直闪退
- ¥15 算能科技20240506咨询(拒绝大模型回答)
- ¥15 自适应 AR 模型 参数估计Matlab程序