What's wrong with this coding?
Guys, do you know what's wrong with my coding??? it can't execute --" please help me find and fix the error
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142
|
#include<iostream>
#include<iomanip>
#include<stdio.h>
#include<string.h>
using namespace std;
//Struct declaration
struct TItem {
int nim;
char name[100];
char jrs[100];
};
TItem item[1000]; //Array of struct
int item_count = 0;
//Function declaration
int search(int _nim);
void add(int _nim,char _name[],char _jrs[]);
void del(int _nim);
void menu_tambah();
void menu_cari();
void menu_lihat();
int main()
{
int choice = 0;
do
{
cout<<"=== ITEM MANAGEMENT ==="<<endl;
cout<<"1. tambah mahasiswa" <<endl;
cout<<"2. cari mahasiswa"<<endl;
cout<<"3. lihat data mahasiswa"<<endl;
cout<<"4. Exit"<<endl;
do
{
cout<<"Input ?";
cin>>choice;
}
while ((choice < 1) || (choice > 4));
cout<<endl;
switch (choice)
{
case 1:menu_tambah(); break;
case 2:menu_cari();break;
case 3:menu_lihat(); break;
case 4: break;
}
cout<<endl;
}
while(choice !=4);
return 0;
}
int search(int _nim)
{
for(int i=0;i<item_count;i++)
{
if(item[i].nim== _nim) return(i);
}
return(-1);
}
void tambah(int _nim, char _name[],char _jrs[])
{
item[item_count].nim= _nim;
strcpy(item[item_count].name, _name);
item[item_count].jrs= _jrs;
item_count = item_count +1;
}
void cari(int _nim)
{
int nimx = search(_nim);
for( int i=nimx+1; i<item_count;i++)
{
item[i-1] = item[i];
}
item_count = item_count -1;
}
void menu_tambah()
{
int _nim;
char _name[], _jrs[];
cout<<"tambah data mahasiswa"<<endl;
cout<<"nim = "<<endl;
cin>> _nim;
getchar();
cout<<"nama mahasiswa = ";
cin.getline( _name, sizeof(_name));
cout<<"jurusan = ";
cin>>_jrs;
add(_nim,_name,_jrs);
cout<<"Item added."<<endl;
}
void menu_cari()
{
int _nim;
cout<<"mencari data"<<endl;
cout<<"nim = ";
cin>> _nim;
int nimx = search(_nim);
if(nimx>-1)
{
char answer;
cout<<"Item found.";
}
else
{
cout<<"Item not found"<<endl;
}
}
void menu_lihat()
{
cout<<"list data mahasiswa"<<endl;
cout<<setiosflags(ios::left);
cout<<setw(5) <<"NIM"
<<setw(30) <<"NAME"
<<setw(10)<<"JURUSAN"
<<endl;
for(int i=0;i<item_count;i++)
{
TItem P = item[i];
cout<<setw(5)<<P.nim
<<setw(30)<<P.name
<<setw(10)<<P.jrs<<endl;
}
}
| |
Line 71: You can't assign char pointers to char arrays using operator=. If _jrs is a null terminated string you can use std::strcpy.
Line 88: You have to specify the size of the arrays when you define them.
so what must i do with line 71? change to strcpy? or use another code?
Topic archived. No new replies allowed.