방금 배열에 대해 알게되었습니다. 배열을 사용하여 데이터베이스 프로그램을 만들려고했습니다. 아주 기본적인 프로그램입니다.배열을 사용하는 C의 기본 데이터베이스와 유사한 프로그램
#include<stdio.h>
#define N 1 //number of entries needed
int main()
{
int i, k = 1, l = 1, w, x = 0, y = 0;
int rollnum[N], hsc[N], cet[N], a[N], b[N];
char name[100], city[100], c;
for(i = 0; i < N; i++)
{
printf("%d.\n", (i+1));
printf("Enter first name : ");
do
{
c = getchar();
if(c != '\n')
{
name[k] = c;
k++;
}
}
while(c != '\n');
a[i] = k;
k++;
printf("\n");
printf("Enter roll number : ");
scanf("%d", &rollnum[i]);
printf("\n");
getchar();
printf("Enter city : ");
do
{
c = getchar();
if(c != '\n')
{
city[l] = c;
l++;
}
}
while(c != '\n');
b[i] = l;
l++;
printf("\n");
printf("Enter HSC percentage : ");
scanf("%d", &hsc[i]);
printf("\n");
printf("Enter CET marks : ");
scanf("%d", &cet[i]);
printf("\n");
getchar();
}
printf("\n\n\n");
k = 1;
l = 1;
for(i = 0; i < N; i++)
{
printf("Entry %d\n", (i+1));
printf("Student Name : ");
x = (a[i] - x);
for(w = 0; w < x; w++ && k++)
putchar(name[k]);
putchar('\n');
printf("Roll number : %d", rollnum[i]);
printf("\n");
printf("City : ");
y = (b[i] - y);
for(w = 0; w < y; w++ && l++)
putchar(city[l]);
putchar('\n');
printf("Marks : \n");
printf("\t");
printf("HSC : %d ", hsc[i]);
printf("\t");
printf("CET : %d/200", cet[i]);
printf("\n\n\n");
}
return 0;
}
프로그램이 원하는 방식으로 작동하지 않습니다! 이름을 입력하면 첫 글자가 두 번 인쇄됩니다. 똑같은 도시입니다! 'N'을 수정하여 2 개의 항목을 넣으면 두 번째 항목의 이름과 주소의 첫 글자를 쓰레기 값으로 가져옵니다. 나는 나의 논리에서 어떤 오류라도 있다고 생각하지 않는다. 왜냐하면 나는 그것을 내 노트북에서 수동으로 시도했기 때문에 나는 그것에 결함을 발견하지 못했다.
누구든지 실수를 찾을 수있게 도와 줄 사람이 있습니까? 나는 프로그램이 전혀 좋지도 효율적이지 않을 수도 있음을 알고 있지만, 나는 배운 것들을 시험하고있다.