【发布时间】:2015-11-22 21:51:51
【问题描述】:
我正在用 c 语言制作一个使用结构显示数据库的程序,我对编程有点陌生,我也知道 c++,而且我也为 c++ 制作了程序,但我在这两个程序中都有问题。我只会发布c代码。所以程序运行良好,直到我看到没有打印我输入的值,它打印随机值(我猜这是垃圾内存)。我不知道为什么这是工作看看:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
typedef struct database{
char dataname[32],date[32];
int number_employers;
float profit;
double salary;
}database;
void new_company(database x);
void show_company(database x);
int main()
{
database Tarom,Wizzair;
new_company(Tarom);
system("cls");
new_company(Wizzair);
system("cls");
show_company(Tarom);
show_company(Wizzair);
return 0;
}
void new_company(database x){
printf("Enter company name: ");
scanf("%s",&x.dataname);
printf("\nEnter company date: ");
scanf("%s",&x.date);
printf("\nEnter number of employers:");
scanf("%d",&x.number_employers);
printf("\nEnter the average salary of employers:");
scanf("%f",&x.salary);
printf("\nEnter the company profit(in proccent):");
scanf("%f",&x.profit);
}
void show_company(database y){
printf("Company name:%s\n",y.dataname);
printf("Company date:%s\n",y.date);
printf("Number of employers:%d\n",y.number_employers);
printf("Average salary of employers:%f\n",y.salary);
printf("Company profit:%f\n***************************\n",y.profit);
}
【问题讨论】:
-
欢迎来到 StackOverflow。只是问“请调试我的代码”不是这一方的工作方式(请看“如何问”)。你尝试了什么,得到了什么?
-
@FUZxxl,在我看来,最初的问题是关于 C 和 C++ 中同一问题的信息的完全公平的请求。问题的重要部分在 C 和 C++ 中是相同的;但是最好的答案在 C 和 C++ 之间是不同的。所以事实证明,两者都要求是个好主意。当初学者只对一个标签感兴趣时,反对同时使用 C 和 C++ 标签的初学者通常是正确的。但这篇文章不值得被专家劫持。
-
@JSF C 和 C++ 之间存在细微差别,即使在重叠部分也是如此。在任何情况下,初学者都不应该认为他们可以将 C 代码编译为 C++ 就可以了。因此,一个问题必须指定最多一种编程语言来解决问题的严格政策,除非问题是关于多种编程语言的交互。