怎么同时输入字符串和数字
本帖最后由 u012495008 于 2013-12-28 09:47:33 编辑 我在弄一个学生成绩管理系统,用一个函数怎么同时输入学生名字数组和成绩数组,新手求大神解。。。拜托
[解决办法]
分两个数组,分别读入,然后后续合并做处理就可以,或者读取一行的方法读入,都可以。
[解决办法]
C++可以operator >>重载
[解决办法]
函数设置一个标记位Flag,表示该输入数据类型(学生名字数组和成绩数组),这样公用了一个接口。例如Flag = 1
为学生名字,Flag = 2为学生成绩 不知道这是不是你想要的。
[解决办法]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct _bookinfo
{
char name[60];
float price;
}bookinfo;
int main()
{
int nbookCount = -1;
int maxpriceindex = 0;
float maxprice = 0.0;
bookinfo *pBooklist = NULL;
printf("please intput the number of books:\n");
scanf("%d", &nbookCount);
if(nbookCount <= 0)
{
printf("error books count!\n");
exit(-1);
}
pBooklist = (bookinfo *)malloc(nbookCount * sizeof(bookinfo));
if(pBooklist == NULL)
{
printf("malloc memory failed!!\n");
exit(-1);
}
int i;
for(i=0; i<nbookCount; i++)
{
printf("please intput the %dth book name:\n", i+1);
scanf("%s", pBooklist[i].name);
printf("please intput the %dth book price:\n", i+1);
scanf("%f", &pBooklist[i].price);
if(maxprice < pBooklist[i].price)
{
maxprice = pBooklist[i].price;
maxpriceindex = i;
}
printf("\n\n----------------------------------------------------\n", i+1);
}
printf("The most dear book is:[%s]. The price is:[%f]\n", pBooklist[maxpriceindex].name, pBooklist[maxpriceindex].price);
free(pBooklist);
}