Nhập chiều chuỗi kí tự bằng vòng for

E có 1 bài này khá cơ bản ,đây là bài e làm sai mà ko biết sửa sao, ai chỉ e vs
Nhập vào tên của n giáo viên.

#include<iostream>
#include<stdio.h>
using namespace std;
void main()
{
	int n;
	cout << "Nhap vao so giao vien :";
	cin >> n;
	char tenGv[100][25];
	for (int i = 0; i < n; i++) {
		cout << "\nTen giao vien thu " << i + 1;
		fflush(stdin);
		fgets(tenGv, 25, stdin);
	}
}

A, bạn đang dùng mảng à?

4 Likes

e nghĩ khai báo danh sách cần mảng nên xài, mà mỗi tội mảng cột thì là số thứ tự Gv(số) còn hàng dọc là tên(chữ). Vậy còn cách khác không a, còn nếu khai báo kiểu nửa nạc nửa mỡ như thế này ko dc ạ.

Dùng mảng thì phải có CHỈ SỐ (INDEX) của mảng. Đó là ý mình muốn nói đấy!
Chẳng có nửa nạc, nửa mỡ nào ở đây cả! Sai là do bạn!
Khai báo là mảng mà lại dùng như biến đơn.

2 Likes

thêm vào 2 dk là nhập mã gv với môn học, e làm lại ntn mà sau khi nhập xong số giáo viên ko nhập dc mã giáo viên chỉ nhập dc tên với môn học :

#include<iostream>
#include<stdio.h>
using namespace std;
struct gv {
	char maGv[30], ten[30];
	int soMon;
};

void main() {
	int n, i;
	cout << "Nhap vao so giao vien : " << endl;
	cin >> n;
	fflush(stdin);
	struct gv stt[100];
	for (i = 0; i < n; i++) {
#define g stt[i]
		cout << "\nNhap thong tin cua giao vien thu " << i + 1 << endl;
		cout << "\nMa giao vien : ";
		fgets(g.maGv, 30, stdin);
		cout << "\nTen giao vien : ";
		fflush(stdin);
		fgets(g.ten, 30, stdin);
		cout << "\nNhap so mon day : ";
		cin >> g.soMon;
                fflush(stdin);
	}
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?