30/09/2018, 19:01

Khắc phục lỗi noinstance of overloaded function strcpy_s

#include "stdafx.h"
#include<iostream>
#include<math.h>
#include<conio.h>
#include<string.h>
using namespace std;
// nhap chuoi 
void inc(char s[]);
// tinh tong cac so nguyen duong 
int sumpositive(char s[]);
// tim tu dai nhat 
void tumax(char s[], char a[]);
int _tmain(int argc, _TCHAR* argv[])
{
	do
	{
		// nhap chuoi 
		char s[50];
		cout << " nhap chuoi : ";
		cin.getline(s, 50);
		// xuat chuoi 
		inc(s);
		// tinh tong cac so nguyen duong 
		int t = sumpositive(s);
		cout << " tong cac so nguyen duong la : " << t << endl;
		// tim tu dai nhat 
		char a[50];
		tumax(s, a);
		cout << " tu dai nhat trong mang la : ";
		inc(a);
		cout << " nhan ESC de thoat chuong trinh " << endl;
	} while (_getch() != 27);
	return 0;
}
// xuat chuoi
void inc(char s[])
{
	cout << "*" << s << "*" << endl;
}
// tính tổn các số nguyên dương 
int sumpositive(char s[])
{
	int tongso = 0;
	int len = strlen(s);
	int i = len - 1;
	while (i >= 0)
	{
		while (i >= 0 && !isdigit(s[i])) // bỏ qua những kí tự không phải số 
			i--;
		int t = 1;
		while (i >= 0 && isdigit(s[i]))
		{
			tongso += t*(s[i] - 48);
			t = t * 10;
			i--;
		}
	}
	return tongso;
}
// tim tu dai nhat 
void tumax(char s[], char a[])
{
	int max = 0;
	char b[50];
	int nb = 0;
	int len = strlen(s);
	for (int i = 0; i < len; i++)
	{
		if (s[i] != 32 && s[i] != NULL)
		{
			b[nb++] = s[i];
		}
		else
		{
			b[nb] = NULL;
			if (strlen(b)>max)
			{
				max = strlen(b);
				strcpy_s(a,b);
			}
			nb = 0;
		}
	}
}
Bài liên quan
0