【发布时间】:2019-12-04 16:09:05
【问题描述】:
我正在尝试制作一个可以输入 10 个学生姓名的程序,但我只是不知道如何存储它们。我做了下面的代码,我真的认为没有错误,这只是我如何使用名称输入的草稿。为此,我们只能使用 C 语言。
这就是我想要的输出:
List:
arr[0][50]=jason
arr[1][50]=jade
.
.
.
arr[10][50]=mark
但它只是一直显示错误,我只能在它显示第一个相等之前运行它。
下面是我的代码。请原谅我的语法,我对编码很陌生。
#include<stdio.h>
#define pf printf
#define sf scanf
#define ENTER 13
#define TAB 9
#define BKSP 8
main()
{
char g7nameinput[0][50];
char g7fname[10][50], g7mname[10][50], g7lname[10][50];
char ch, choice;
int incname, incnamelist=0, i, max=50;
createstudent:
pf("\n\nInput first name: ");
incname=0;
while(1)
{
ch=getch();
if(ch==ENTER)
{
g7nameinput[0][incname]='\0';
break;
}
else if(ch==BKSP)
{
if(incname>0)
{
incname--;
pf("\b \b");
}
}
else if(ch==TAB)
{
continue;
}
else
{
g7nameinput[0][incname]=ch;
incname++;
pf("%c",ch);
}
}
pf("\nFirst Name inputted is %s",g7nameinput);
pf("\n\nInputted correct? [Y/N]: ");
sf("%c",&choice);
if((choice=='Y')||(choice=='y'))
{
g7fname[incnamelist][50] = g7nameinput;
incnamelist++;
pf("\n\nList:");
for(i=0;i<incnamelist;i++)
{
pf("\narr[%d][%d]=%s",i,max,g7fname[i][50]);
}
goto createstudent;
}
else
{
goto createstudent;
}
}
【问题讨论】:
-
printf和scanf真的长到你觉得需要用预处理器宏来缩写它们吗? -
我建议你寻求一个好的助教的帮助。我们这里没有设置延长辅导。
-
是的,我们的任务是编写一个包含所有 C 语言语法的程序,上面的代码是我尝试制作一个可以输入 10 个学生姓名的程序。我不知道这是否正确,但我朋友告诉我,我可以只做很多变量(name1-name10),但问题是我们还需要获取中间名和姓氏。
-
@fred idk 我们的老师先做的 lmao
-
在这和“任务用所有 C 语言语法编写程序”之间,我对你的老师有严重的怀疑。